Blog
Thoughts on web development, simplicity, and building things that work
September 2026
- 28 Mon Designing a status bar for Terminay Terminay's remote access control sat in the top right with a play/stop button, and I didn't like it. I asked Claude Code for five status bar prototypes in one HTML file, picked the parts I liked from two of them, and turned that into the real thing. Every prototype is playable below.
- 26 Sat Playing with Jev - RTS Game I built a small real-time strategy game where Jev, a decisions model on OpenRouter, controls every unit every two seconds and GPT Luna rewrites each side's strategy every thirty. A full game costs under three cents.
- 2 Wed A look at spec driven development Code tells you what a system does. Only a document tells you what it should do. I looked at four spec-driven development frameworks to see which of them keeps that second thing, and I'm moving my projects to OpenSpec: the only one that separates the feature from the work that implements it. Explore all four repo trees side by side.
August 2026
July 2026
June 2026
- 15 Mon The Five Stages of a Believable Cursor What does it actually take to make a fake mouse cursor move like a real one? A hands-on tour through linear interpolation, easing, Bézier curves and the biomechanics of why arms curve — with interactive demos for each piece.
- 8 Mon Zero-Knowledge without a Password DarkAuth derives your encryption keys from your password and never lets the server see them. So what happens when there's no password? Here's the long, winding road to federation, SCIM and passkeys without giving up zero-knowledge.
March 2026
January 2026
October 2025
August 2025
June 2025
January 2025
June 2023
- 22 Thu From Frameworks to Functions Challenge the norm of using big frameworks and discover the benefits of simple, functional programming approaches.
- 15 Thu Stop Mocking Internal Logic Why you should stop mocking internal application logic and start mocking external dependencies with test servers instead.
April 2023
December 2022
- 12 Mon Building a simple command-line tool with NodeJS Learn how to create command-line tools using Node.js from scratch, with both bare-bones and library-assisted approaches.
- 12 Mon Build a custom REPL using NodeJS Learn how to build your own custom Read-Eval-Print Loop (REPL) using Node.js for interactive development and administration.
- 11 Sun How to create a native http server Learn how to build a simple HTTP server using Node.js without any external dependencies or frameworks.
- 11 Sun An introduction to the JavaScript event loop Deep dive into how the JavaScript event loop works in Node.js and why it's essential for building scalable applications.