Recent essays
Archive →Make the Easy Thing the Right Thing
When you start copying infrastructure code for the third time, you've already waited too long. A note on extracting shared patterns into a library, and being kind to future-you.
Building a Mathematics Interpreter in F#: From Parser to Symbolic Calculus
How we built a full interpreter with symbolic differentiation, six number types, and interactive graph plotting, and what the architectural decisions reveal about building extensible systems.
Building an Event-Driven Health Tracker with Three Lambda Functions
How we built a health tracking platform with event-driven notifications, scheduled jobs, and auto-completing goals, and why decoupling what happens from when it happens made everything simpler.
Building WeatherWise: A Weather Platform That Tells You What to Do
Building a weather platform that transforms raw API data into prioritised, actionable recommendations, and the full-stack architecture that supports it.
Alive to Guess Again
Karl Popper argued that a theory which can't be proven wrong isn't really saying anything. The same is true of engineering practices: if you aren't actively trying to break them, you don't know whether they're working.
The Pragmatist's Razor
Cargo cult engineering is adopting practices without understanding. But there's an equal and opposite failure: the engineer so principled they forget they're building software for people, not for architecture diagrams.
About the editor
I'm a software developer at Smedley Group Advanced Technology, where the domain is global electric karting.
I write here about engineering practice, architecture, and the reasoning behind decisions. If that sounds useful, the archive is the front door, and the work history shows the practice behind it.