The Handmade Essentials Jam just concluded. See the results

We make software by hand.

The Handmade Network is a community of programmers inspired by Handmade Hero. We love programming, we like to reinvent the wheel, and we like understanding how our software works at a low level.

In a software industry dominated by bloat, waste, and slop, we go in the opposite direction. We care about our craft, we care about how computers actually work, and we take pride in writing truly high quality software. After all, someone needs to show the rest of the software industry what computers are capable of.

Handmade Network Expo
June 6, 2026
Get your ticket
Featured
Recent
News

Let this serve as the definitive showcase video for Unimap following the end of the jam:

https://www.youtube.com/watch?v=5TmZWas_k8s

Quick jam recap for &digitalpaper, my bitmap-based text editor: I managed to get all the bare essential features finished and I think it did a decent job at demonstrating a different paradigm for editing text. There are a few things I didn't get to implement, but the end result still feels fairly finished to me. I'm quite happy with how it turned out!

I did the whole thing without external libraries and without CRT, and only used my existing platform layer and UI library that I've been working on over the past few months. It's incredibly satisfying to have made a piece of software entirely by hand, but also the whole time I was really wishing I had a less bare-bones UI library. I spent a ton of time on things that should have been there already (scroll bars, dynamic string support) and I was definitely limited in the end by not having other features (text boxes). Also, digging through documentation for COM APIs to get PNG encoding working at the last minute was not fun.

Here are some things I wish I could have implemented:

  • Supporting multi-page documents
  • Editable margins
  • Saving loading cursor positions in PNG metadata
  • More font styling options

(I'd recommend watching the demo video at 2x speed as it's just me typing in real-time, no talking)
https://www.youtube.com/watch?v=j2e4dwk6jvA

View original message on Discord

&zvideotrimmer Went a bit overtime but calling it there for the jam. Couldnt quite get encoding working well. But will definitely finish this up post-jam. Learned a bunch about the Media Foundation api and video encoding. Also that multithreading is super important in this domain as video decoding is computationally VERY expensive, even with modern hardware.
Also noticed how bad almost all video players scrub video, even high quality ones like MPV. I did not realize that pre-jam. Feel like its certainly doable to do better job and get close to what proper video editors like Davinci offer with scrubbing/trimming in a much lighter weight package. Even though I'm not encoding well, it is close, and the program is only 149kb with zero dependencies on windows. So even though this jam project was a fail, I really enjoyed diving into this problem domain, and look forward to improving it. Thanks very much Handmade Network admin, this jam was awesome.

View original message on Discord

Update, morning after Jam deadline: I switched back to an SDL3 backend, and that seems to have fixed

  • setting the icon for the window & taskbar
  • copying characters correctly

The downside is that the window is resizable again, which I don't want, but is less important than the above two issues. (This is because I'm having a hard time calling Win32 functions with the hWnd that the SDL backend gives me.) DVUI's different backends are buggy in a few ways, I've come to find out.

I created &overseer for the Handmade Essentials Jam. It's an attempt at improving on Task Manager. It was a fun project that took me deep into the weeds in some winternals stuff and I spent a lot of time learning about some poorly documented, or undocumented save for the work of reverse engineers, kernel interfaces (and not as much writing code as I would have liked). It has some interesting capabilities like history for plotting of the system, each process, and each thread. It's missing some much needed ones like Disk, Network, GPU, and grouping processes as apps like Task Manager does (turns out this is trickier than it appears). I'm considering continuing work on it to add these features, clean up the UI, and possibly port to Linux, especially if there's demand for it.

View original message on Discord

&mini-vc Was gonna try to make a discord voice chat clone over webtransport, but turns out I bit off a little more than I could chew! I'm still working on getting the wt session spun up. Still glad I decided to do this for the jam since it really forced me to quickly learn everything in a week, and I don't think I would've tried to otherwise. Thanks Ben for organizing!

View original message on Discord

Sadly, I didn't make much past this yesterday. The only progress I made yesterday was an internal architecture decision on how to interact with Odin's nbio. I guess I didn't have the time I thought I would, and spent too long hemming and hawing on some design decisions. All I have at the end of the jam for &send-files

  • A mostly non-functional UI layout
  • Able to copy and paste contacts
  • A rough idea of how the protocol will work
  • A rough implementation of the first step of this protocol in the form of a unit test

I do plan to continue on working this in some capacity after the jam though. I like where I am going with it

View original message on Discord

I pervasively can’t use &foo with these fixed-cap dynamic arrays

View original message on Discord

Great! Really my only complaints are a couple bugs (?) with the &foo syntax in loops

View original message on Discord

Some style changes and that's gonna have to do it.

Here is a demo video of Digital Paper, a text editor inspired by the limitations of paper. I'd suggest watching at 2x speed since it's kind of infuriating to watch me typing in real-time.

I'll do a longer writeup later, but the short version is that I had fun, and I'll probably keep working on this :)

Final update on &unimap - polished up search UX a lot. / and ctrl + k focus the search bar, searching is very fast, and searches both blocks as well as characters. esc closes the search window.

Other updates:

  • load fonts from user's OS instead of baking in GNU Unifont
  • info dialog about the program
  • enter shortcut on go-to-code-point

Couldn't get to:

  • drag and drop characters onto other windows
  • customize the window's title bar
  • add icon to window (DVUI's DX11 backend, which I'm using, seems to be broken in this regard)

Known errata:

  • on load, the program asynchronously loads a bunch of fonts from your OS. Every once in a while (maybe 1 in 10 runs) it panics with an allocator error related to this.
  • loading really big blocks (any of the Private Use areas, some of the CJK ones) bogs down the app's performance to a slog because it's trying to render every single one of those character buttons--I tried to implement virtual scrolling like I did with the search window but couldn't get it done in time.
View original message on Discord

Quick demo of the program to show how users can create new calculators and reference them as variables from other calculators where the results are instantly updated so they can see how changes in variables affect their expression.

&simultime final update: got split views kind of working today, but there are still a few bugs and some rough edges(sometimes crashes with complex layouts, and adding toplevel splits doesn't work). I also added audio to the timer with a little handmade alarm sound. Had a lot of fun, and if anyone wants to use the program or look at the source, I'll clean up the code and put it on github in the next few days!

View original message on Discord

&mailguy tray icon for running in the background

View original message on Discord

&mailguy here's a screenshot of the output folder and a preview of an email which includes valid markdown and the original HTML email embedded as a comment

View original message on Discord

&berliner browsing feeds and opening in browser, which marks an item read. items can be manually marked read/unread

View original message on Discord

&mailguy fetching all 1152 emails and attachments from my gmail account

View original message on Discord

I didn't get to work on this until yesterday (Saturday) and most of today (Sunday) due to a crazy work week, but on the whole, I've very happy with my progress and final result. I had to cut a few features I had planned in my head, but I was able to implement the core feature that I had in mind. I originally named in LRCalc because it was going to feature a "Left" and a "Right" calculator that you could use to swap values, but I got the idea on Tuesday to make a calculator where you could just reference other calculators and this was my final result.

This was also my first time using Microui and it was quite nice.

I've uploaded the code to a Github Repository here.

https://github.com/rstefanic/lrcalc

When I said this was the last update to &gap , I wasn't lying, but I do have one other thing I'd like to share... gap is also open source! https://github.com/cdacamar/gap

Why is this interesting? gap is using much of the same tech that fred is built on: custom OS layers, renderers, arenas, etc. If you're curious about how I write HM C++ or just generally curious about some of the bones behind fred, feel free to take a look!

Note: the base layers are older snapshots of what is currently in fred.

View original message on Discord

Let this serve as the definitive showcase video for Unimap following the end of the jam:

https://www.youtube.com/watch?v=5TmZWas_k8s

Quick jam recap for &digitalpaper, my bitmap-based text editor: I managed to get all the bare essential features finished and I think it did a decent job at demonstrating a different paradigm for editing text. There are a few things I didn't get to implement, but the end result still feels fairly finished to me. I'm quite happy with how it turned out!

I did the whole thing without external libraries and without CRT, and only used my existing platform layer and UI library that I've been working on over the past few months. It's incredibly satisfying to have made a piece of software entirely by hand, but also the whole time I was really wishing I had a less bare-bones UI library. I spent a ton of time on things that should have been there already (scroll bars, dynamic string support) and I was definitely limited in the end by not having other features (text boxes). Also, digging through documentation for COM APIs to get PNG encoding working at the last minute was not fun.

Here are some things I wish I could have implemented:

  • Supporting multi-page documents
  • Editable margins
  • Saving loading cursor positions in PNG metadata
  • More font styling options

(I'd recommend watching the demo video at 2x speed as it's just me typing in real-time, no talking)
https://www.youtube.com/watch?v=j2e4dwk6jvA

View original message on Discord

&zvideotrimmer Went a bit overtime but calling it there for the jam. Couldnt quite get encoding working well. But will definitely finish this up post-jam. Learned a bunch about the Media Foundation api and video encoding. Also that multithreading is super important in this domain as video decoding is computationally VERY expensive, even with modern hardware.
Also noticed how bad almost all video players scrub video, even high quality ones like MPV. I did not realize that pre-jam. Feel like its certainly doable to do better job and get close to what proper video editors like Davinci offer with scrubbing/trimming in a much lighter weight package. Even though I'm not encoding well, it is close, and the program is only 149kb with zero dependencies on windows. So even though this jam project was a fail, I really enjoyed diving into this problem domain, and look forward to improving it. Thanks very much Handmade Network admin, this jam was awesome.

View original message on Discord

Update, morning after Jam deadline: I switched back to an SDL3 backend, and that seems to have fixed

  • setting the icon for the window & taskbar
  • copying characters correctly

The downside is that the window is resizable again, which I don't want, but is less important than the above two issues. (This is because I'm having a hard time calling Win32 functions with the hWnd that the SDL backend gives me.) DVUI's different backends are buggy in a few ways, I've come to find out.

I created &overseer for the Handmade Essentials Jam. It's an attempt at improving on Task Manager. It was a fun project that took me deep into the weeds in some winternals stuff and I spent a lot of time learning about some poorly documented, or undocumented save for the work of reverse engineers, kernel interfaces (and not as much writing code as I would have liked). It has some interesting capabilities like history for plotting of the system, each process, and each thread. It's missing some much needed ones like Disk, Network, GPU, and grouping processes as apps like Task Manager does (turns out this is trickier than it appears). I'm considering continuing work on it to add these features, clean up the UI, and possibly port to Linux, especially if there's demand for it.

View original message on Discord

&mini-vc Was gonna try to make a discord voice chat clone over webtransport, but turns out I bit off a little more than I could chew! I'm still working on getting the wt session spun up. Still glad I decided to do this for the jam since it really forced me to quickly learn everything in a week, and I don't think I would've tried to otherwise. Thanks Ben for organizing!

View original message on Discord

Sadly, I didn't make much past this yesterday. The only progress I made yesterday was an internal architecture decision on how to interact with Odin's nbio. I guess I didn't have the time I thought I would, and spent too long hemming and hawing on some design decisions. All I have at the end of the jam for &send-files

  • A mostly non-functional UI layout
  • Able to copy and paste contacts
  • A rough idea of how the protocol will work
  • A rough implementation of the first step of this protocol in the form of a unit test

I do plan to continue on working this in some capacity after the jam though. I like where I am going with it

View original message on Discord

I pervasively can’t use &foo with these fixed-cap dynamic arrays

View original message on Discord

Great! Really my only complaints are a couple bugs (?) with the &foo syntax in loops

View original message on Discord

Some style changes and that's gonna have to do it.

Here is a demo video of Digital Paper, a text editor inspired by the limitations of paper. I'd suggest watching at 2x speed since it's kind of infuriating to watch me typing in real-time.

I'll do a longer writeup later, but the short version is that I had fun, and I'll probably keep working on this :)

Over the past week I've been working on a GUI diff tool called 'gap' for the HM Essentials jam. It has been a lot of fun and I've actually been using it as a replacement for git diff! (seen in video)

Further, the code is also open source: https://github.com/cdacamar/gap

The code shares a lot in common with fred (though an older snapshot). If you're curious about how I write HM software, feel free to take a look!

View original message on Discord

Final update on &unimap - polished up search UX a lot. / and ctrl + k focus the search bar, searching is very fast, and searches both blocks as well as characters. esc closes the search window.

Other updates:

  • load fonts from user's OS instead of baking in GNU Unifont
  • info dialog about the program
  • enter shortcut on go-to-code-point

Couldn't get to:

  • drag and drop characters onto other windows
  • customize the window's title bar
  • add icon to window (DVUI's DX11 backend, which I'm using, seems to be broken in this regard)

Known errata:

  • on load, the program asynchronously loads a bunch of fonts from your OS. Every once in a while (maybe 1 in 10 runs) it panics with an allocator error related to this.
  • loading really big blocks (any of the Private Use areas, some of the CJK ones) bogs down the app's performance to a slog because it's trying to render every single one of those character buttons--I tried to implement virtual scrolling like I did with the search window but couldn't get it done in time.
View original message on Discord

Quick demo of the program to show how users can create new calculators and reference them as variables from other calculators where the results are instantly updated so they can see how changes in variables affect their expression.

&simultime final update: got split views kind of working today, but there are still a few bugs and some rough edges(sometimes crashes with complex layouts, and adding toplevel splits doesn't work). I also added audio to the timer with a little handmade alarm sound. Had a lot of fun, and if anyone wants to use the program or look at the source, I'll clean up the code and put it on github in the next few days!

View original message on Discord

&mailguy tray icon for running in the background

View original message on Discord

&mailguy here's a screenshot of the output folder and a preview of an email which includes valid markdown and the original HTML email embedded as a comment

View original message on Discord

&berliner browsing feeds and opening in browser, which marks an item read. items can be manually marked read/unread

View original message on Discord

We’re pleased to announce that ticket sales for the Handmade Network Expo are now open!

The Handmade Network Expo is our first-ever in-person event. We didn’t want to just run another “conference”; after all the years of Abner running Handmade Seattle (and our subsequent split), we weren’t interested in having a typical lineup of tech talks. Our favorite part was always the demos: real Handmade software made by members of the Handmade community. So in that spirit, we decided to make an event that was all demos, all the time.

You can find all the details on the event page, but the short version is that it’s one day in the heart of Vancouver, with a flexible schedule full of small demos, and plenty of opportunities to show off your own work, learn from others, experiment with new ideas, and generally celebrate Handmade software. Tickets are just $100, but space is limited. If

TL;DR:

  • The first-ever Handmade Network Expo will take place on June 6, 2026
  • Join us in re-watching Handmade Hero! (starting February 7, 2026)
  • A few thoughts about Handmade's position in the industry

We are very excited to announce the Handmade Network’s first-ever in-person event: The Handmade Network Expo!

2025 was a quiet year for us where we focused on the fundamentals of the community: jams, projects, a healthy community, and interesting discussions. But we love seeing other people in person, and were sad that we didn’t have the opportunity last year. So we decided it was time to bring people together again, and with our renewed focus on real, tangible Handmade software, a day of demos seems like the perfect fit.

So: Join us in Vancouver, BC on June 6, 2026, for a day packed with demos, discussion, socializing, and celebrating the achievements of the talented programmers of the Handmade community!

(By the way, don't miss more news at t

Hello Handmade Network, and happy new year! 2025 was a relatively quiet year for us where we focused on just running our jams and building relationships across the Handmade community. But we’ve got lots of plans for 2026 and we’ve already been at work kicking them off!

TL;DR:

  • We are finally launching the Handmade Software Foundation and using it to support the development of more Handmade software
  • We’re planning an in-person gathering for this spring, more details forthcoming
  • We’ll be doing two jams as usual, dates TBD based on other events

Launching the Handmade Software Foundation

A few years ago we announced that we were creating a nonprofit to support the development of Handmade software. Well, it took some time, but I am pleased to announce that the Handmade Software Foundation is now officially a 501(c)(6) nonprofit corporation.

What does this mean? It means we are a nonprofit under the category carved out for business leagues, chambers of commer

Happy fall to everyone in Handmade! I hope you had a wonderful summer, and that you spent the perfect amount of your summer writing amazing Handmade software. Ideally you were actually outside enjoying the sun and the air while doing this, and ideally you climbed a mountain or jumped in a lake afterward—but if this is wishful thinking, then I hope you at least have some cool software to show for it.

Fall is a wonderful season for Handmade, because it means that we get to do another Wheel Reinvention Jam. And this is our fifth annual WRJ!

Wheel Reinvention Jam, September 22 - 28, 2025

For me, the Wheel Reinvention Jam is one of the most important things we do as a community, because it reminds us that wheels do need to be reinvented, and that even the most ambitious projects need to start somewhere. I wrote this on the jam page, but whe

It's June 9, and that means that the X-Ray Jam has officially begun!

image.png

Participants have one week to make a project that exposes the inner workings of software. If this is your first time hearing about it, it's not too late to participate! Head over to the jam page to find more information about the theme, submission instructions, and inspiration to get you started.

After the jam, we plan to do another recap show like usual. The show is tentatively scheduled for Sunday, June 22, one week after the conclusion of the jam, but stay tuned for official confirmation.

We look forward to seeing all the updates this week!

-Ben

The official page for the X-Ray Jam is now online! Check it out, invite your friends, and join us on June 9 to dig into how software works.

image.png

The premise of the X-Ray Jam is to point an X-ray at software and see how it works "on the inside". It's a riff on the Visibility topic from previous years and a refinement of what made that topic interesting.

See, the original concept of "visibility" was not about "visualization"—the point was to make visible the invisible workings of the computer. To "visibilize" it, not necessarily "visualize" it. Obviously I love what the community chose to submit for those jams, but they admittedly did not stick to that topic very well. Even my own submission to the first Visibility Jam was a tool for automatically tracing a network, not really a tool to "make the pac

Hello Handmade! 2025 is moving right along, and Handmade projects along with them. But first:

Introducing the X-Ray Jam!

We are doing two jams this year, and the first is a new jam we’re calling the X-Ray Jam. This is a riff on the “visibility” topic from years past that I’m very excited about.

In short: point an X-ray at your software! The purpose of the X-Ray Jam is to explore our systems and learn more about how they work on the inside. It combines the best parts of the Visibility and Learning jams into one. Here’s the details:

  • When: June 9-15, 2025
  • Topic: X-ray some program and figure out what's happening inside.
  • You submit: A program or tool, like previous years, or a blog post, like in the Learning Jam.

For example, maybe you'd build a program to record and replay all the window messages received by your program. Or you'd investigate why the Windows 11 right-click menu is so slow to open. (What is it doing?!) Or perhaps you coul

Hello Handmade community! I hope your 2025 is going brilliantly so far. I have a few key updates for you to kick off the year.

Unwind is back!

I am pleased to announce that, after a bit of a hiatus, our interview show Unwind is back. Our latest episode is an interview with Alex (aolo2), a web developer turned CPU engineer whose projects are a constant inspiration. We discuss the creation of his collaborative whiteboarding app, the Slack replacement he made for a previous job, and his latest project, a lightning-fast CPU trace viewer. You can watch the episode on YouTube.

unwind_aolo2_screenshot.jpg

For this re-launch of Unwind, we’ve changed the format of the show from live to pre-recorded interviews. It’s basically a podcast now instead of a live show, and we hope this will h

I regret to announce that the Handmade Network and Handmade Software Foundation will no longer be working with Abner Coimbre and Handmade Cities going forward.

This is obviously not a decision we made lightly. Since Handmade Seattle concluded just over two months ago, we have been attempting to come to an agreement that would allow us to continue working together. Unfortunately, it has become clear that Abner’s vision for Handmade has diverged from ours, and despite our best efforts, we have been unable to reconcile our differences.

This means that the Handmade Network will no longer support, promote, or endorse any Handmade Cities conferences or meetups. We disclaim all affiliation with Handmade Cities going forward. Community members are of course still welcome to attend Abner’s events if they wish, but with the understanding that we have zero influence over any content, logistics, or attendee experience.

How did we get here?

I realize this announcement may come as

This post has been co-authored by Abner Coimbre and Ben Visness.


On November 17, 2014, Casey Muratori went live with the first episode of Handmade Hero. The show was immediately electrifying: a game industry veteran sharing his knowledge with no coddling and no compromises. But Handmade Hero gave us more than just technical knowledge—it gave us an ethos for how to program.

10 years later, it’s clear that Handmade Hero was more than just a show—it started a movement. The Handmade community has grown to encompass thousands of people sharing their knowledge on Discord, attending conferences and meetups, shipping apps, and working to fix the mess that is modern software. In a world where most programming communities are built around a particular language or paradigm, the Handmade community is an anomaly, a place where brilliant programmers of all disciplines gather to help each other make truly great software.

This past July, we