// the journal

Writing.

Field notes on building for the web — shipping AI features, front-end architecture, performance, and the craft of making software people trust.

All posts

AI
15 Jan 2026·8 min read

Building AI Agents That Actually Work

An agent is just an LLM in a loop with tools and a goal. The hard part is not the loop — it is keeping it bounded, observable, and recoverable when the model is wrong.

Read article →
LLMs
05 Dec 2025·7 min read

Prompt Engineering for Developers

Prompt engineering is not magic incantations. For developers it is interface design — clear contracts, worked examples, and treating prompts like code you can test.

Read article →
Web Dev
12 Nov 2025·8 min read

React Server Components, Explained Simply

React Server Components split your tree across the network. Once you see where the server/client boundary sits, the whole model — and when to reach for "use client" — clicks into place.

Read article →
JavaScript
08 Oct 2025·7 min read

TypeScript Patterns Every Engineer Should Know

The best TypeScript is not the cleverest. It is the code where wrong states will not compile — using the type system as a design tool, not a chore you satisfy after the fact.

Read article →
AI
18 Sep 2025·7 min read

Shipping AI Features Users Actually Trust

A model that is right 90% of the time can still feel broken if the other 10% shows up at the wrong moment. Trust is a product problem, not a model problem.

Read article →
Performance
22 Jun 2025·9 min read

The Engineer's Guide to Web Performance

Performance is a feature you can measure, and most of the wins are unglamorous. Ship less, ship it later, and stop blocking the main thread.

Read article →
Web Dev
05 May 2025·8 min read

Building Design Systems That Scale With Your Team

A design system is not a component library. It is an agreement — and agreements break the moment they stop being convenient to keep.

Read article →