It is crazy to think that the Handmade Network Expo was over a month ago already. The past few months have been a delightful whirlwind for us, full of new problems and quick decisions. It’s been a lot of work, but it has been very gratifying.

At the time of this writing, we have just finished publishing all the recordings from the Expo, and with that, I feel it’s time for a bit of a retrospective. This was a significant event for us, and it happened at an interesting time in the history of the Handmade community, and of the software industry in general. It would be a shame to let it go by without some reflection.

This post will be a bit long, but I hope you find it interesting and worthwhile. It just doesn’t feel right to move on too quickly.

The context

While far from the first-ever in-person “Handmade” event, the Handmade Network Expo was the first event fully organized by us at the Handmade Network. Previous events featured many different kinds of content, from live interviews to traditional conference talks to pre-recorded demos. If you’re interested in seeing them, you should check out the HandmadeCon talks on Casey’s YouTube channel, and also check out our playlist of archived media from over the years.

Last year we were back to basics, running jams and investing in the community. But we dearly missed seeing each other in person. Eventually, in our weekly Discord coffee chat, someone asked the question: Are you going to run your own event next year?

My answer was that I would sure like to. I had been thinking hard for a year about the kind of event I thought would bring life to the Handmade community. I wanted an event built entirely around demos. Demos, I felt, were the actual lifeblood of the community, the thing that made the Handmade community more than just a Discord server with a specific programming aesthetic. An event focused on demos would allow programmers to celebrate the real software they had made, and for the message to be centered around real programming experience. I loved the demos from previous gatherings, after all—but could we make the demos the main event?

Some guy in the Discord call spoke up. He had the default Discord avatar and a confounding username, “AbjMakesAPizza”. He said he lived in Vancouver and would love to organize an event for us. I was intrigued, and skeptical, but he insisted he was serious. He had, in fact, been running meetups in Vancouver for quite a while, so he wasn’t completely green.

This guy turned out to be one Matthew Currie, a game developer in Vancouver. And he turned out to be a rockstar.

The organizer

I really cannot overstate what a fantastic job Matthew did pulling the event together. As I’ll go over shortly, the plan for this event was far from clear. But right away Matthew got to work scouting out venues, and before long he had turned one up.

The venue he ultimately found was truly amazing. Global Relay, a local technology company, had a small but beautiful event space in the heart of downtown Vancouver, right across the street from the Gastown steam clock. It could hold about 100 people, had an open floor plan, and came with a really big TV for presentations.

image.png

Even after finding the venue, though, Matthew did a lot of due diligence. He attended other tech events at Global Relay, taking photos of various spaces and equipment, even reporting on bathroom capacity. He made friends with other event organizers and got recommendations for everything from catering to furniture rental. He even got stats and measurements for the entire space, which led to Asaf recreating the entire space in Blender for the sole purpose of arranging furniture. This ended up being very important, since we realized our initial capacity estimate was too high, and we needed to reduce the event’s capacity by 10-15 tickets.

image.png

In the end, thanks to Matthew and his connections, we were very well prepared. And he is very well connected! The most baffling favor he managed to pull: we somehow ended up with one of Dan Luu’s computer monitors. Matthew was at some guy’s house for board games, met a guy named Dan, told him about the event, and somehow managed to borrow a computer monitor, and that guy was Dan Luu. Thank you Dan! I am still confused.

The tech

How do you sell tickets for an event like this? For us the answer was easy: build a ticket system ourselves.

This was not even particularly difficult. At the end of the day, the requirements of a ticket system are:

  • Take people’s money
  • Don’t sell too many tickets
  • Be fair to people (give them time to purchase, etc.)
  • Send emails
  • Let people look up and modify their ticket
  • Scan the tickets at the door

These are not complicated. We already had the entire Handmade Network website codebase at our disposal, with an authentication system and email support, and a database we could store tickets in. Stripe handled the fine details of payment processing at a rate of about 3%, and all we had to do was to make sure we gave people time to purchase and to prevent people from purchasing twice.

Naturally this saved some money, compared to a third-party ticket service, but the biggest win was that we were able to use our existing account system. By using that, the ticket recovery flow was easy: just log in using the same account as always. Where other organizers would have used a Google form for e.g. dietary restrictions, we just built the form into our website, so only ticket-holders could fill it out and we would never have stupid problems like “sorry, I used different email addresses for my form and my ticket”.

Even the ticket scanner was straightforward. Asaf just put together a little web page that uses a QR code library and makes POST requests to a special check-in endpoint. This stuff is just not that hard! I recommend building it yourself.

Also, when you build it yourself, you can call it whatever you want. In fact, you can invent a dozen different funny names and have your ticket dashboard display a random one on every request. This is perhaps the most important feature.

image.png

The format

As mentioned, I didn’t want a “conference”, where there was just a long list of talks. But we also realized quickly that we couldn’t only have a bunch of demo tables in a room; that would get old very quickly.

The format we settled on was a 15-minute presentation followed by an hour at a demo table. In the final schedule, we did two presenters at a time, for a total of about 30 minutes of presentations plus an hour of table time. During that table time, guests were also free to sit down on couches, draw on whiteboards, or plug into one of the various monitors around the room to show off their projects.

This 1.5-hour cadence felt great in practice and granted us a lot of flexibility in the schedule. And people liked it! The 15-minute presentations gave the audience something meaningful to ask the presenters about, and the hour-long table time gave them time to both interact with the presenters and to socialize with other attendees.

One of the more subtle benefits of this cadence was how it naturally broke off conversations after an hour. Multiple attendees told me they ended up meeting more people because every 1.5 hours they would meet someone new. This was unforeseen but very welcome!

The content

One of the most wonderful things about the Handmade community is that it isn’t centered around a specific technology or discipline. The ethos of Handmade resonates with all kinds of programmers, a fact which was clearly reflected in the Expo’s content.

Where else can you go to see a new video game with a custom programming language, a time-travel debugger, and an experimental live-coding editor back to back? The variety was also on full display during the impromptu lightning talks we did late in the day. I’ll publish the video eventually, but attendees showed off a voxel editor with a novel way of generating structures, a short presentation on compression, a new game, a new PDF viewer, and a new control-flow graph layout algorithm for compilers.

No retrospective would be complete without acknowledging how much of the Expo’s success is thanks to the Handmade community at large. Almost 12 years on, it continues to amaze me just how impactful Handmade Hero was, and how much Casey’s outlook on programming could resonate so widely.

The result

In the end, it all came together into a wonderful celebration of Handmade programming. Before I wrap up, I want to share a few of the highlights.

Both before and after the event, some folks had a great time exploring Vancouver together:

image.png

image.png

image.png

The vibe in the room was amazing both during and between presentations:

image.png

image.png

Our Handmade Hero Replay group made a card for Casey and got to deliver it in person:

Video of Casey receiving a card

And, as we stayed up late, we learned that Casey’s DDR skills are not too shabby:

Video of Casey and others pumping it UP

Again?

I absolutely want to do another Expo next year. The format has been proven, we sort of know what we’re doing, and we already know the Handmade community thrives when we gather in person.

The big question for me has been: can we do it again without ruining it?

Mostly, my concerns are around scaling up. We had about 70-80 attendees, so quite a small affair, and I am quite confident that if we had 200 attendees, the vibe would be totally different. It was already hard just to find a venue that made sense; most places with a capacity of 150-200 have theater seating and limited open space, which would REALLY kill the vibe. But even if we find a good venue, can the social dynamics scale up? I think it would be fine at 150, and perhaps that’s an appropriate target for our second year.

The other question is whether we can do two days instead of just one. Here also I have serious concerns. On day 2, I think the atmosphere would likely be much more muted, especially if people are worn out from a big first day. (I was basically dead the following morning, with a sore throat and a wicked headache. But I was up talking with Casey about WebAssembly until 1am, so that is a contributing factor.)

I think it would be nice to have a second day, but I think it would probably need to have a totally different vibe and purpose that complements the main day. For example, perhaps we could do a day of “coworking”, or a short one-day jam, or a shader competition, or an INSTRUCTOBOTS tournament. I think many people would probably enjoy spending some extra time with all the people they just met, and to have a chance to actually sit down and write some code!

Certainly the details of a future event are open for further discussion. If you have ideas, feel free to strike up a conversation about it on the HMN Discord!

Final thanks

As we close the books on the 2026 Expo, I want to yet again thank many people who were instrumental to the event’s success.

Another massive thanks to Matthew Currie for volunteering to take on this huge and ill-specified event, and for rolling with our crazy ideas to put on something amazing, and for hosting a party for everyone at his apartment, etc. etc. you’re the best.

Thanks to all our presenters to traveling so far to an unproven, one-day event, and for demonstrating why the Handmade community is so amazing to be a part of.

Thanks to Phil Homan and Tavis Rudd for managing all the event A/V. Not only did they make sure everyone could be clearly seen and heard on the day, it is thanks to them we have such high-quality recordings to share with everyone on YouTube.

Thanks to Łukasz, of Wookash Podcast fame, for scanning people’s tickets at the door and welcoming them to the event.

Thanks to all the people who helped with setup, teardown, coffee runs, and other logistical needs throughout the day: Felix, Vincent, Kevin, and many others.

Thanks to Launch and Global Relay for the use of their beautiful event space.

And finally, thanks as always to Casey Muratori for setting all of this in motion nearly 12 years ago, and for continuing to be a shining example of technical excellence and of enthusiasm for the craft of programming.

I look forward to next year!

-Ben