I’ve always been a fan of the GitHub profile greens approach to doing difficult things. Every day you contribute a little, kinda doesn’t matter how good it is but you get to mark it off and you keep on keeping on.
Writing up every year was like that for me, until I needed to pause it. Now coming back out of this privacy-hole it’s going to be a bit of a challenge to figure out what this document is and how to write it.
I used to make 5 year plans, some of my first ever plans were ‘work at Apple’, ‘do a TED talk’ and be able to ‘cover the song “I will follow you into the dark”‘. Something I learned from these plans was that by the time I had hit the middle of 5 years, I was not the same person. The goals, and my wants, had shifted so much that none of those targets felt right anymore.
How far away am I from the man who last wrote ‘on being 34’ at the end of 2020, locked in his apartment in Brooklyn in the midst of the COVID pandemic watching January 6th happen while doing polish passes on my write up?
I opened ‘on being 34’ with the statement:
How does anyone thrive in an environment like this?
I managed it, but I’d trade it all for a better world because systemically things have not got better.
I stopped writing these posts because Zach Gage and I decided to take “Puzzle Box” seriously, and that required a novel level of focus and secrecy around my work. Well, that and that the posts were getting progressively darker. I think a lot of us were going through some serious shit in 2020 and 2021. Here at the end of 2025, we’re just used to the 2020’s and what that means. But back in 2020… it was more raw.
To give myself a framing device, I’ll explore the highest level changes since 2020:
and then, I’ll leave trying to talk through the year 2025 as an exercise for myself for the rest of the year.
At the end of ‘On Being 34’ I was still working on TypeScript at Microsoft, I would have been starting to see the end in sight though.
When I interviewed, I proposed a bunch of work to the TypeScript team, and I was coming to the end of that work. That left me with an option to either go deep on being a compiler engineer, or explore other teams / projects. I loved working on the team, and I have only the highest praise for everyone making TypeScript happen. It may turn out to be one of the most impactful roles I ever have. But, I was coming to the end of being super useful, and was just moving towards being pretty useful. I’m a breadth engineer, and for a compiler project being deep is better.
Zach had proposed an idea to me with a reasonable scope for “Puzzle Box” which I could moonlight on while still doing TypeScript, and for a while this felt possible:
Puzzle Box - A games project with a good friend that could turn into a somewhere between solid side income and potential full-time income, still a bit too far away to talk about though.
To make that idea work, we needed to build with a partner. A few months into the project though, the partner we were exploring that plan with changed their opinion, and we felt like the only way to do this was to do it all ourselves. With that, we started to explore fund-raising for the newly named, “Puzmo”
We hit a few dead-ends, and then absolutely lucked out by finding Astra - a non-profit dedicated to helping get more puzzle games into the world. We pitched a bigger investment than they’d ever done before and worked through making it happen.
For a while, Astra acted somewhat close to a publisher for Puzmo. We reported to them pretty regularly, and for the first year of development Puzmo had a reasonable scope. This helped me to find some balance in working through the tail-end of the pandemic lockdowns and chilling out.
I really do mean chilling out too, the first year of working on Puzmo in Dublin (2022) is possibly the calmest period I’ve had in a decade or so. I couldn’t do Open Source, I didn’t have meetups/conferences, I didn’t have things to write on Twitter and so it gave a lot of time for long walks in the park, tending to houseplants, learning to skateboard rock-climb, read way more books than normal and I tried video game ourside of my usual genres.
This all changed when Wordle got big.
Wordle obviously changed the “puzzle games on the web” space, converting it from a relatively niche space to something everyone has heard of, and a lot of folks become very interested in building games platforms.
To me, this was sort of the switch from “Puzmo” to “Puzzmo”. We had this choice: do we ship right now while Wordle culture is growing, or do we burn hard and aim to build something that aims to be like the ‘next generation’ of these games. We opted for the latter, and in the process, I gave up on all side-projects and Open Source.
Zach does a great job explaining some of our motivations for selling Puzzmo in this Puzzmo newsletter, but roughly: to make Puzzmo long-term successful we needed to be sure that there was a working business attached to Puzzmo the product. We couldn’t just “develop/design it” and assume that we’d be able to figure out a business-side as we go along, as we were selling subscriptions and you really need a long-term business rather than some product people making something and moving on.
We didn’t predict that we’d be selling Puzzmo before it became live, I remember being out in Australia for a friend’s wedding for three weeks as multiple offers started coming in, and I just kept ending up stuck in these brain loops - it’s not exactly like winning a lottery, but the scope of potential change is wild. The breadth of “how does this affect X” was tricky to articulate and understand ahead of time. My poor wife just had to deal with these small shell-shocks.
The money isn’t “fuck you” money, but it’s more than most and more than enough. To try and accommodate that internal tension, I started a system of direct donations in a way that echos one of the most pivotal moments in my life. If you meet me IRL, I’ll tell you about it.
Puzzmo today is a company with a functioning bureaucracy, games team and engineering team. That’s something I’m real proud of, it’s not been a linear ride, and I’ve never really wanted to consider myself an entrepreneur but this project has been incredibly gratifying and Zach has been such a great partner over the last five years.
Dublin is a cool city. I was still not happy with the feeling of being a gentrifier when living in Brooklyn, and Danger kinda wanted to live a bit closer to her family. Microsoft, like all Big Tech companies, had an HQ in Ireland, and so the transition to Ireland could be helped via the company, which was a net win.
We settled in Kilmainham, it was across the road from a big park and we found ourselves part of a pretty tight-knit community. We got to know our neighbours and fellow locals in a way that’s hard to do in a big city. It was fun living a parochial life.
I lik to tell people I lived 0 miles from the Guinness factory, so it’s as good as you can get!
[photos]
I had hoped there would be a tech scene in Dublin, but it was too early post-lockdowns for that all to really happen. Ironically the only time I got COVID was when I ran my own meetup, which put the brakes on giving that another shot.
So, instead we took to being dog-walker people and for the “Puzmo” period: I learned how to skateboard by using it for short-term transport, and took it to the park often. I bought an annual pass for a local bouldering gym and learned to rock climb to a pretty good level.
We visited Northern Ireland a lot, (where Danger is from), and the north visited us a lot.
We opened our house to some Ukrainians for a few months, they ended up working for the Irish government helping more Ukrainians integrate into Ireland.
Danger got a little overboard with dog fostering, but it makes for some fun stories and our dog Hayes loved moving from The Big City to a smaller quieter locale.
I ended up on two documentaries while in Dublin, one for Svelte and another for TypeScript.
After the acquisition, I was starting to wonder what it might look like to come out of my Puzzmo fugue and thought that I’d really like to get back to some of the things I loved about New York. I pitched that maybe London could be a place for Danger to hang out with her workmates IRL and that I’d be able to find a programming community with people that can challenge/push me.
We have been living in London for about a year and a half now, and it’s cool. I think we’ve both changed so much though that it’s hard for us to really engage with a city like we used to.
In Manhattan, pre-pandemic, we may not have had space but we had time and energy to be doing stuff. Now, I’m so busy all the time that we’re just not really taking advantage of the stuff the city provides. I come with my own looser internet friends from Open Source, but the folks Danger knew moved out within a year of us arriving.
This makes committing to London much less of an enticing offer, so we’re probably going to be moving up north. Assuming this gets out, and assuming I am doing another next year - that one may be about finding/having found a place up north and settling in.
I think my drive is abnormally high, and while that never really bothered me - I’ve never really had a satisfying explanation. I don’t consider myself particularly ambitious, but my devotion to craft and time commitment to programming is an outlier. For many years over a decade long period, I was in the top 20 most active contributors on GitHub, and that’s not normal.
Well, I wasn’t looking for an explanation , but one day I absently put on a WIRED documentary in the background about someone who couldn’t visualize images in their head and I ended up finding one.
In rough, most people have the ability to visualize an apple in their head if they want to, or can remember accurate sounds, smells, tastes etc. This doesn’t happen to me. This has a few side effects:
This last one was interesting, as I’ve used a term from a book for a long time “combat autism” as a way to try and describe how it feels to exist in my body. When I compare how it feels to Danger there’s a lot of behavioral things which come naturally for her which I have to learn and study to internalize.
Aphantasia kinda neatly takes a bunch of “this is a bit odd” and wraps it into a single neat “your brain doesn’t connect things the way most folks do” which felt cool to discover and simplified a lot of internal questions.
I just don’t have time for the breadth of community contributions I used to. Am I bummed about it? Yep. I met so many interesting people, and found a way to connect to so many people who had similar values but different interests.
“Wanting to do more OSS” is a lot like “I’ll do the gym next year”, it’s trivial to say, and for most engineers it probably is something they would like to actually do. Committing the time and actually doing it though it much harder.
For me, not contributing to Open Source on a daily basis has felt like a pretty big loss - I made a lot of great friends working via GitHub and talking about our work at conferences. It was (and I’d like it to still be) a part of my identity, it’s like a mixture of volunteering, hanging out, and mastering my craft all in one activity.
It’s hard from two angles:
I’ve never been this busy, for this long, with barely any downtime. Leadership level of Puzzmo is a lot more time-consuming than technical leadership was at Artsy.
That leaves little time to do related-but-not contributions to collective efforts.
I’ve grown very tired of big-tech computing. Their constant need to grow has forced a very large amount of needless change and entropy into the everyday tools I use.
So, at the start of this 5 year gap, while working at one of the megacorps, I started a full-scale migration to using Linux every day. At first this was difficult, but over time it got easy.
Then, early this year, I agreed to make an iPhone app for Puzzmo and had to re-engage with the macOS ecosystem. It’s great hardware, but it feels more and more like a consuming device as shared code from iOS squeezes the platform into a smaller and smaller design space.
Working with Linux every day has been super gratifying though, the platform is stable, the tools for making Puzzmo work great - I could choose my own hardware, put it all together and make a really cool desktop. I’ve been using Pop_OS! which has a focus on keyboard and workspace mechanics. Pop_OS! has lots of really nice touches that feel like it’s being used every day by folks who care, and it’s based on Ubuntu, which means it has a solid compatibility layer.
I’ve yet to find a Linux laptop I enjoy using though, so that space is currently taken by the Mac I need for building iOS apps.
I’m barely a lurker on any social media platforms now. I had such a great time on Twitter from 2012 till 2020, it truly felt like a place to be able to hang out and chat with interesting folks.
I think a large part of this was due to the fact that I could use Tweetbot to access Twitter in a non-algorithmic way, where I had rich filtering tools and a small product surface. When the plug was pulled on Tweetbot - it became obvious that the Twitter I used was nothing like the Twitter they wanted me to use.
There’s enough posts on the internet talking through the downfall of the platform, but this all happened to me during a period of not being able to talk about my work.
During the ‘Puzmo’ period, Zach and I simply disappeared off these networks and were just heads down. Coming back, it doesn’t feel as valuable as it once did. Most posts, on all platforms, often look like engagement baiting and not a good use of time.
Nowadays, I don’t use a mobile phone, don’t use native apps for social networks and then only really check bluesky every day or two. I mainly use it to search for “Puzzmo” to test the waters of folks using it, and to try and leave nice comments to people who I met back in my Open Source days.
Like everyone in the 2020s, I went through a few slumps. It’s not right to call it a depression, the way folks who have that describe a depression seems so much more intense. But, they are like periods where everything just feels a bit weightless and un-inspiring. These can last weeks to months, and are generally something I can either distract myself through or think myself out of.
My most recent slump ended by me coming to a pretty dark, but I think defensible, theory that is ‘Things structurally are getting worse, and will probably continue to get worse. So, the best time to do something is right now.’
It’s been a few years now, and this one just continues to pay out. It offers a reason for agency, provides a way to empathise with others and fits really well with some of my other tenets like Optimistic Nihilism (roughly: if nothing matters, and you can only have a subjective experience of the world, then you get to choose your own definitions of what matters) or Work In Public (always default to most the public way to interact)
Danger introduced me to the idea that there’s a trope of people hitting 7 years in their relationship and things being rocky - I’m a believer in the concept that people change often in their lives, and at a pretty regular interval. Perhaps this is when folks start seeing two sets of personal changes where you’re less compatible?
Danger and I have been doing great. It’s wild that you can go back and read “On Being 25” (2012) and see us starting to date, and now we’re a really settled-in married couple who still pushes each other to try new things, and acts as each other’s core support structures.
Multiple times in the last 5 years, I’ve had someone describe us as their ‘couples goal’. Over the last few years, I think we’ve really gotten into a great space. We have a deep psychological safety net, and to my knowledge have the ability to talk over problems slowly and methodically. Decisions like “we should move to London” aren’t a single conversation, but many over months as we dig into motivations and goals.
This slow thinking approach has allowed us to really approach big long-term relationship questions like ‘do we have kids?’ organically and with it never feeling like we had the conversation but instead it has come up in so many spaces that we have a well articulated understanding of what the answer is. ( No, my work is too important to me, and Danger is both creeped out at some of the body horror of pregnancy and doesn’t want a significant part of her identity to being a mother - maybe someday if I change my relationship to work, adoption could be a good option. )
We’ve lived in a few countries, made a bunch of friend groups together and it’s been really gratifying to see her fill out into a complex adult. We’ve both grown in ways that complement each other, but still have strong individual goals and needs.
Just before the lockdown era we had been exploring psychedelics together, and lately we’ve been going through a party drugs era. Which is nice, doing these things as an adult means you get to really examine the difference between your default state and embrace the change while it is happening.
Last year, Danger really took up going to the gym to the point where she goes almost every day, and it’s wild seeing her bump her “looks” to be completely out of my league! So, I’ve been joining her at the gym a lot in 2025, and that’s been a really fun couples project.
Apex Legends (Apex) is a video game where 60 people, in teams of three, drop into a very large map. Over time, the map shrinks and players are forced into a smaller and smaller space until eventually there is only one team left. The game is played in a first-person perspective (e.g. you see through the eyes of your character) with “movement mechanics” (e.g. moving your character around can create/retain momentum in ways which feel very fluid)
In a genre of free-to-play shooter-type games, Apex is seen as one of the hardest because you need team-work. You could be an incredibly skilled individual player but against a team of three lesser skilled players with better cohesion you’re at a significant disadvantage.
When I started Puzzmo with Zach, I joined his regular games of Apex Legends with his collaborator Jack Schlesinger. We used this as a form of daily meeting to figure out where we were and what we wanted to do for Puzzmo.
It took me a while to really get what Apex was trying to do with Zach and Jack, but the peaks and troughs of intensity in the game left a lot of idle-ish downtime (it really is a big map) which leaves a lot of good time to talk shop and then a need for switching to tactic comms the moment we spotted someone.
We did this for the first two years, but lost the daily rhythm after Zach had his second kid. It was an interesting time because we were starting to professionalize ourselves as the sale of Puzzmo meant creating a real functioning bureaucracy instead of ‘well Zach and I play apex each morning to chat.’
Around that timeframe I discovered that Billy Ford was also playing and was looking for a third player on his team.
It is a surprise to me that a search for “Billy” never turns up anything on this blog, so allow me to provide some context. Billy is one of the most important friends in my life. We met when I started working at the same bar when I studied at University, twenty plus years ago.
Billy was the reason I moved to Huddersfield, we moved in together, Billy got me my first programming job after design school, he introduced me to the guy who I moved in with in NYC, he was running the nightclub where I re-met my wife, he was one of my best men at my wedding and now: bi-weekly Apex Legends ranked partner.
We’ve both organically grown to be such different people over the last two decades, but there’s no way that I’d be where I am without his support. He has been around influencing some of my most pivotal life decisions.
So, it’s been really fundamentally cool to be able to spend thousands of hours on a game with him where the skill ceiling is so high that I know I have many more thousands of hours to continue and improve through time and patience.
I was reflecting on the scale of these numbers a little bit last year, when musing about writing an “on being 38”. Thousands of hours is a lot! When I have so many other things going on, how do I justify that to myself?
This line of question became a route to another new foundational philosophy for me: Accept that you can like and enjoy things for yourself. It’s easy to say something like “I’m studying how they make systems”, “we’re playing Apex to talk about work” or “I’m playing because Billy and Ollie are free” - all of these are true, but that is not the root of the cause I’m playing because I find it fun and I get to hang out with people I like. I can do things I enjoy for their own sake. Knowing that helps me understand me.
Billy Ford, Ollie (who I was introduced to via Apex) and I play in an Apex game mode called “Ranked” which can be simplified as: everyone playing has stats tracked and compared against each other, wins and losses matter in a semi-permanent way.
Collectively, we tend to sit somewhere in the top ~10% of all players in the game. We are very good at it. We’ve gone to watch professionals play Apex all over the EU, and I devote time to actually practice and train in the game to prepare for us playing.
Sometimes I’m wary of having lived an over-optimised life. Someone once tweeted that there were a set of programmers (who included me) that they wished would be able to live a life where we would have any non-programming needs handled by others and that just left us time to focus on our craft.
I’d certainly enjoy that, and to some extent I have aspects of that - my relationship with Danger isn’t a trivial 50/50 split on domestic work and I make enough money that I can avoid a lot of general concerns. When I reflect on the intent of that message, I think back to velocity: a heterogeneous team can usually go faster, but a diverse team has the capacity to handle the breadth of complexity in the real world.
I’d felt a growing desire to make sure I had more facets of depth; software is only one system, even if it’s big enough that I can easily devote a lifetime to the craft and still have more work to do. Mix that with an pessimistic uncertainty for (waves hands) “all this” and I wanted to make sure that I can do more than just computer stuff.
We’ve always had a house-plant or two, Danger would get some easy to maintain plants and we’d have a few corners in the living room with a flash of colour. Mid-lockdown, I started to take over the responsibility for her plants, and started to put on real gloves when I concluded that having an understanding of growing and maintaining plants was a great secondary skillset.
I started pretty small, and we moved houses I’ve got to the point where every window has some plants and almost every free shelf spaces has something hanging and growing. Danger took to going serious on growing vegetables in the garden with me, and we’re on year two of that now!
This year we had huge amounts of tomatos, cucumbers and cucamelons. We had a few courgettes and potatoes. Every year for 4 years I’ve tried pulling off chillis and I still haven’t got that down.
A lot of good plant husbandry is predictability and repetition, we’re not like clockwork but we got down to during the summer months having a twice-weekly house watering session, and a daily veg update. It’s very far from financially winning but it’s gratifying to have Danger make a tomato soup with only our tomatoes.
So, that is the high level catch-up. After 5 years, I’ve got a more pessimistic long-term perspective but I’m way more prepared. I am doing things for the fun of it, and not just for impact