Jumping between code, AI, and real-world builds. Powered by coffee. Grounded in forests. Living nomad.
Middle-aged, caffeinated, and perpetually curious. I split my time between writing code, experimenting with AI, and building things in the real world — sometimes all three at once.
I'm not here to be polished. I'm here to document the messy middle — the broken builds, the late-night breakthroughs, and everything that happens when you refuse to stop learning.
Full-stack tinkering. Laravel, JavaScript, whatever gets the job done.
Exploring the frontier. Building with AI, not just talking about it.
Because not everything worth building lives on a screen.
Writing about what I'm building, breaking, and figuring out along the way.
Walkthroughs, builds, and the occasional rant. Raw and unfiltered.
AI tools, side projects, and the weird stuff that happens when you push buttons.
Route model binding ran before the business-unit context was set, so every module route resolved records from anywhere. One line in a priority list.
192ms before, 199ms after. The predicate I'd blamed in a decision record wasn't the thing. The COUNT beside the rows was costing five times what the rows cost.
One could be revoked and one couldn't. Nobody decided that — it's just what building the same thing twice produces.
Whether you're into code, AI, or just want to swap build stories — I'm always down to connect.