meta

Hello, World — Why I'm Starting This Blog

2 min read

Six years ago I wrote my first production line of JavaScript. It was a console.log. Not a great start, but it shipped.

Since then I've built agentic AI pipelines, multi-tenant SaaS platforms, MCP integrations, and more side projects than I care to admit. Almost none of that process has been written down anywhere accessible. This blog is an attempt to fix that.

Why now?

I've been thinking about this for a while. The honest answer is that I got tired of re-explaining things. Every time I onboard someone, pair with a colleague, or review a PR, I find myself walking through the same mental models — how I think about server-side rendering trade-offs, how I structure agentic workflows, why I default to certain TypeScript patterns.

Writing it down forces clarity. Explaining something in prose is a better test of whether you actually understand it than explaining it in a Slack message.

What I'll write about

Three areas, roughly:

Agentic AI and LLM engineering. I spend a lot of time designing systems where language models have access to tools and need to reason over real data. The gap between "chatbot" and "agent that does useful work" is wider than most demos suggest, and I want to write honestly about that gap.

Full-stack engineering. Next.js, TypeScript, Postgres, the works. I'm particularly interested in the rendering model — server components, streaming, PPR, cache invalidation. This blog itself is a living example of those ideas.

Shipping things. The meta-layer: how to scope projects, how to decide what not to build, how to navigate the tension between craft and speed.

What this is not

A hot-take factory. I have enough opinions to fill a newsletter every week, but most of them need a few months of field-testing before they're worth writing down. I'd rather publish ten things I believe than a hundred things I think sound smart.

If any of this sounds interesting, there will be an RSS feed shortly. In the meantime — welcome.