AutomationSolver
A ladder-logic puzzle game: program a Mitsubishi-style PLC to solve motor-control problems, then get graded by an engine that runs identically on client and server.
REACT · POSTGRES · TYPESCRIPTLingoFlow
Daily language practice that adapts to what you keep getting wrong, with stories, streaks and an honest progress model.
REACT · NODEReflexLoop
An autonomous agent with persistent memory, run outside any chat UI, with a console to approve or reject what it wants to do next.
Ray-tracing a rotating black hole in the browser
Null geodesics, a WebGPU compute shader, and why the first frame is allowed to look terrible.
Back to school, twenty years in
A year of ladder logic and cabinet wiring, and what two decades of writing the software above it had not taught me.
One grading engine, two runtimes
Making the same TypeScript produce identical verdicts in a browser tab and a Node process, and the three places it quietly did not.
Twenty years of C#, and what I had to unlearn for TypeScript
Interfaces are not contracts here. Structural typing is a gift and a trap. On giving up the class hierarchy I spent a career building.
Automation Electrician program · Nercia
A year of ladder logic, control cabinets and PLCs, taken deliberately after twenty years on the software side.
IT Consultant · Consulence AB
C# APIs for home automation and IoT with MQTT real-time updates; Azure Linux VMs, VNET and SQL/Cosmos DB; a React frontend over the whole thing.
C++ Developer · Aveva AB
New object types in Aveva Atlas, a 3D CAD system for the marine industry, plus maintenance on a large PML/C++ legacy codebase.
Software Developer · Egmont Publishing
C# on a cross-platform magazine subscription platform, and the admin portal for PDF import, monitoring and publication schedules.