Technical writing
Notes from production: migrations, load tests, and the decisions that held up (or didn't).
LangSmith Engine: LangChain’s Bet on Agents That Debug Themselves
LangSmith Engine watches your agent's production traces, groups failures, and proposes fixes as pull requests. Here's why I'm watching it closely.
Teaching AI Agents to Catch Their Own Mistakes: Reflection vs. Reflexion
Ever watched an AI agent fail at a task, then turn around and fail at the exact same task the exact same way? I have, more times than I’d like to admit. You re-run the prompt, cross your fingers, and — nothing changes. The agent has no idea it screwed up last time, because it never actually […]
Why I Stopped Reaching for extends in TypeScript
Composition over inheritance in TypeScript, explained through a notification system that got messy, plus a retry wrapper you can actually reuse.
The Functional Programming Habits That Actually Make Your TypeScript Better
Getting functional programming in TypeScript right is less about theory and more about a handful of practical habits. I learned that the hard way. A while back I was debugging a function that was supposed to just calculate a discount. Simple, right? Except it also updated a shared cart object, logged something to a global […]
Harness Engineering: What My Childhood Wiring Taught Me
A kid, a kitchen knife, and a bundle of wires At the age of school I knew how to sold wires by using kitchen knife. I tested resistors and capacitors. Wiring came next, done with a scissor, along with converting AC to DC voltage. I built a 2-way speaker system and assembled an amplifier by […]
What Does “AI Native” Actually Mean? (My Answer, After Someone Asked Me at a Meetup)
Few weeks back at a meetup, I told someone we’re building an AI native digital web agency. He looked at me and asked, “What does AI native actually mean?” Good question. Is it just having a chatbot on your website? Wiring ChatGPT into your Slack? On my way home, I sat down and wrote out […]
How I Connected Claude to My WordPress Site (And What I’d Do Differently on Security)
Everyone is talking about AI agents now, agents that can read your Slack, touch your CRM, write code, and apparently also log into your WordPress site and publish posts for you. I was skeptical at first. Handing an AI write access to a live site sounded like the kind of thing that goes wrong at […]
Building a Todo App with the Service-Repository Pattern in Laravel
Why the Laravel Service-Repository Pattern? Anytime an app grows past a handful of CRUD screens, I reach for the Laravel Service-Repository pattern — it’s become my default whenever a Laravel codebase is going to live for more than a few months. In a typical Laravel app, controllers often talk directly to Eloquent models. That works […]