Four lessons from running hack days for social good

A couple of years ago I started a series of hack days — now going by the name of Sheffugees — with the aim of somehow benefitting local refugees, refugee organisations and asylum seekers in Sheffield.

During that time I learned some great lessons about how to use hack days to get the best from local tech volunteers, enabling useful software to be designed and built which in turn can make a big social impact on our city.

Lesson 1: Include sector experts

All too often, hack days focus on getting technical people together, but it’s hugely important to have non-technical experts at your hack day too. They have the knowledge to inform, and even direct, the work done by the technical attendees. By understanding the individuals and organisations who will use what’s being developed, they provide valuable real-world context.

Domain experts also champion the cause with technical attendees and build a strong case for it. They also go on to promote the event and solution with local organisations.

Tina Ball from the City of Sanctuary attended most of the Sheffugee hack days. She represented the needs of refugees and asylum seekers and her input was invaluable, despite her not being a developer. Tina put together a presentation to show our progress and championed this with other organisations in the city:

The week after our second hack day, Tina also presented our progress to the Refugee Forum, a networking and information-sharing group of organisations that work with refugees and asylum seekers in Sheffield.

She reported the following feedback:

It was very well received — everyone was very positive about the projects and their potential. There was some specific feedback about the name ‘Sheffugees’. It went down very well with asylum seekers Assist are working with. People felt it sounded welcoming, and made them feel part of Sheffield. Colleagues working with national organisations said the app was innovative and very exciting. People could really see the usefulness of the asylum journey too.

Lesson 2: Start with user needs

When you get a bunch of engineers together at your hack day, it’s all too easy to get carried away with the excitement of building some new tech. It’s tempting to rush ahead and dive into the code to start making something new and shiny.

But it’s important to slow down and avoid getting distracted by the technical question: “Can it be built?” – instead focus on the more important question: “Should it be built?” Do this by running discovery workshops with end-users before you embark on the hack days. This way you’ll avoid making something no one wants to use.

For the Sheffugees hack day, I organised a discovery workshop with the local Refugee Forum. I documented about a dozen different problems that needed solving, and this document was used to kick off the hack days.

Lesson 3: Content before code

The Sheffugees team of tech volunteers wanted to tackle the problem of sharing information about the asylum journey by building a website tool. This tool would plot the services asylum seekers need to access at all stages of their stay, up to and past the point where they are approved, or denied, refugee status.

They were able to get a head start on understanding user requirements by taking a Lean Startup approach. This involved focusing on getting something into the user’s hands as quickly as possible and not worrying about how rough and ready the solution was.

Watch this short video about Lean Startup if you’re new to the idea:

So, the hack day team set up a sub-project to collect content while the rest of the team started working on building the new system. They used a free online tool called Trello, a collaboration tool that allows projects to be organised into boards. In this case, refugee organisations could add information to Trello up front, which meant the team learned a massive amount about what was needed, before they had any working code to show.

The image below shows the Asylum Journey built in Trello. Over 90 pieces of content were collected before any working code was ready.

Using Trello to build a Minimum Viable Product (MVP) and test the concept with actual users

The plan was always to move on from the Trello board, once the new system was ready. This approach got the project off to a flying start. It meant the team could engage with users and quickly understanding the content structure needed. They gained interest and feedback without much software development.

Here is what the project looks like now it’s been turned into a working prototype called the Asylum Journey.

The finished product called “The Asylum Journey” tool.

Using Trello to build a minimum viable product (MVP) before building a ‘proper’ solution is a great example of Lean Startup in action.

Lesson 4: Hack day not hackathon

We were lucky that those who attended the hack days were all experienced, full-time software developers and designers. The downside is that by Friday evening, when a hackathon typically starts, everyone’s weary after a long week at work.

It’s unrealistic to expect a mammoth, 24/7 coding extravaganza that goes into the night and lasts for an entire weekend. We found starting on Friday evening with a two-hour review and kick off, followed by a decent night’s sleep and a day’s coding on Saturday works well. It leaves Sunday as a welcome break before returning to work.

It means the event is more like a hack day than a hackathon, so that’s what we called it.


These lessons really helped make the Sheffugees hack days a success. The solution developed is now officially called the Asylum Journey tool.

It’s an online service used by 20 organisations across the city of Sheffield. So far 3,000 people have benefitted, including 900 destitute asylum seekers, who have been refused asylum.

Continued technical development and support is provided by a small team of volunteer developers led by Amy Benson who has this to say about it:

I, somewhat sceptically, went along to my first hack day. Hack days had never interested me before, writing code has always been more of a job than a hobby so the idea of spending my weekend trapped in a room with other developers wasn’t appealing. Going into it, I really wasn’t sure a hack day could actually produce something useful, but now, five hack days and a lot of work later, I’m very pleased to say that the tool we built is being used by City of Sanctuary, Assist and other local organisations that work with asylum seekers and refugees in Sheffield.

The content is now managed by a team of volunteers and employees at local organisations. You can see it in action at