Shipping Three Projects (and What Opus 4.5 Made Possible)
An assembly education platform, an iOS card game, and an artillery game I've been trying to build since the early 2000s. Claude finally got them over the line.
Thoughts on software engineering, technology, and more.
An assembly education platform, an iOS card game, and an artillery game I've been trying to build since the early 2000s. Claude finally got them over the line.
Early in my career, I built ticketing systems for arts venues. Our platform could be bulletproof - but if the client's backend fell over, the on-sale still failed. That taught me how to build resilience around dependencies I couldn't control.
In 2020, I wrote a theoretical warning about microservices. Then I spent three years inside 120 of them. Here's what the theory didn't prepare me for.
In 2023, I wrote about sustainable software development. I focused on engineering practices. I should have focused on whether the business underneath could survive.
I've watched companies chase shiny technology for nearly two decades. The pattern is always the same: promises of elegance, delivered complexity, and teams that can't sustain it.
Most failed systems I've rescued weren't too rigid - they were too flexible. Built for futures that never arrived. I've spent years untangling the results.
I've worked in PRINCE2 environments where weeks were spent on documents nobody read. I've worked in 'Agile' shops that were just as ceremonial. The best teams I've been on had almost no process at all.
I've spent years rescuing systems with no documentation. Weeks reverse-engineering logic someone could have explained in ten minutes. The cost of not writing things down is paid over and over.
The technical challenges were solvable. The harder part was understanding how collectors actually work - the DAT ecosystem, verification workflows, and organisational patterns that had to shape every architectural decision.
AI-assisted development is fast. Surprisingly fast. But 'fast' hides decisions that AI can't make for you - scope, taste, and the stuff that only matters when you're the one who has to use it.
I'm building an assembly programming education platform. AI generates the first drafts. Every lesson will be rewritten. The honesty is the point.
From 389 console errors to zero: building a high-performance syntax highlighter with CSS Custom Highlights API, Shiki, and Claude Code—and learning that workflow matters more than I thought.
I used to leave snarky comments in code criticizing my coworkers. Years later I came back and realized I'd been wrong. That's when I learned how to actually do rescue work.
From functional card game to production-ready web application: implementing a dynamic theme system, fixing critical bugs, and deploying to the world with bank-grade security.
How I turned a 30-year-old family card game into a modern web application using Phoenix LiveView, complete with AI opponents and real-time multiplayer.
Sustainable software development isn’t just about clean code or green energy. It’s about people, pace, and pragmatic decisions that last.
Microservices were supposed to save us. For most teams, they just moved the pain around — and made everything more complicated in the process.
Lead Dev London 2019 brought together 1400+ engineers and leaders for two days of inspiration, practical advice, and community — still my favourite conference.
Containers like Docker transformed how we build and run software — offering reproducibility, isolation, and a path to modern deployments. Here's why I changed my mind.
After a great run at Guru Systems, I’m heading to Divido — a fintech company where I’ll be building out their consumer lending platform with PHP, Golang, and containers.
Thoughts on Deus Ex: Mankind Divided, moral choices in cyberpunk, and why sneaking around is more fun than shooting.
Eighteen months after my last update, I'm still waiting for my Spectrum Next to arrive. Once it does, I'll be diving back into ZX Spectrum development.
After two years of contracting with Guru Systems via Siftware, I’m joining their team to keep building their platform and expand into new areas.
Inspired by Revival 2016 and the Spectrum Next Kickstarter, I set out to build a ZX Spectrum dev environment on macOS using Pasmo, Atom, and ZXSP.
On choosing proven technologies, writing maintainable code, and avoiding hype like microservices for the sake of it.
Reflections from Revival Solstice 2016, featuring talks by legendary developers and a look at the ZX Spectrum Next prototype.
After nearly two years at Impact Applications, I’m making a move to join Siftware, where I’ll be helping modernise legacy PHP systems.
Why I'm so excited about Elite: Dangerous
Reflecting on how I discovered Ruby on Rails and why it continues to be my go-to for personal projects.