Running a remote hack day

4 minute read

A couple of weeks ago we held our first Remote Hack, a free, fully-remote hack day. Here’s what we did, how it went, and how you can run one.

Planning the day

To get things moving we set up a Slack organisation, a GitHub repository with a static site using GitHub Pages, and bought the domain name. We wanted to keep organisation and attendance lightweight, so after starting with a GitHub PR approach like SusHack we opted to open signups for the remote-hack Slack group and use chat/signups to gauge interest. We shared details on local Slack groups (Digital Oxford, Sheffield Digital) and Twitter.

We already had access to a paid Zoom account (to work around the 40 minute limit on free accounts), so created a link and shared it in the Slack. The barrier of Slack signup worked well for preventing random Zoom trolls from finding the link on Google, and made sure we had a common place to come together, kick off the day, and talk.

That’s it. We were conscious that a smaller group would likely be more sociable and reduce the challenges for the organisers, so didn’t push too hard on social media.

On the day

The start of an in-person hack day often revolves around a whiteboard to collect ideas (and a load of free pastries and coffee). To make this work for a distributed event we used the GitHub issue tracker and asked people to add ideas in the lead-up to the event.

We opened up the Zoom call 30 minutes early, and as people trickled in we had a great, informal chat before getting into things, setting the scene and then going through the ideas on the issue tracker and picking groups.

People worked in different ways. Ben and Gabor were keen to try out Visual Studio Code’s remote collaboration feature , while Mike and I paired most of the day using Screen. Adam and Ed hacked alone. Most of us ducked out of the Zoom call, but continued to chat on Slack.

When we’ve run in-person hack days like Summer of Hacks (the domain is dead, but the yellow lives on) lunch has been a pretty big deal. We’ve been fortunate to have sponsors cover custom Mexican food for lunch and use that as a lever to get everyone back together to chat and be sociable.

We really love burritos:

How do you translate that into a remote hack day? We had the great idea of doing a distributed lunch, and just all ordering our burritos (or whatever took our fancy) to be delivered at the same time.

Around 1pm we rejoined the Zoom call and hung out for half an hour, chatting away as Ben and Sarah ate burritos (I’d failed to make an order in time, so just had FOMO instead), before splitting back out into our groups and cracking on.

We’d planned to close up around 5pm, and came back together at 4:30 to show, tell and chat a bit more. Mike and I were so close to adding machine learning to the sentiment-bot (well, except for me having a .dev domain problem preventing any dependencies from downloading, and Mike not having ngrok set up). By 5:30 we’d been around the groups, chatted a bit more, and closed up to go our separate ways. I headed straight downstairs for a cocktail and a call with the family.

What worked?

  • A communal group call worked well for a small number of people, but could quickly become unwieldy with larger numbers. We managed to avoid the webinar-style call with everyone except the presenter muted, and really wanted to highlight the social aspect of the event.

  • Starting small. Running a day with 5–6 people I knew pretty well was a pleasure, and created a great atmosphere.

  • Keeping the chat going on Slack. At work I find this quite distracting, but it was great to have light-hearted interruptions during the day. It probably helped that Mike and I were building a Slack sentiment analysis bot…

  • Screen for remote multiplayer/pairing. It felt like the good old days of ScreenHero, and Mike and I took turns sharing screens.

  • It didn’t feel like work. Even though we were coding, it felt fun, sociable, and there was no pressure to deliver anything.

What didn’t work so well?

  • Distributed lunch orders. I forgot! It’s also quite nice to jump back into home life — I went to catch up with Nev and have a quick lunch, but felt I should be back to be part of the day. When you’re all on-site there isn’t that contention, but I’m not sure which way I’d want it to go.

What would I try next time?

  • Shorten the round-table ideas session first thing. We ended up talking about each idea fairly extensively, so I’d like to try keeping it to a 1–2 sentence summary of the idea, and then flesh the idea out in breakout groups so we can get started sooner.

We’ll be running the next event on Saturday the 25th of April. You should join us:

Originally posted on Medium.