Writing
Notes
Opinions on building with LLMs, formed by shipping them. Short, specific, and occasionally contrarian.
- 5 min read
Where an LLM earns its place — and where it doesn't
Most AI features fail before a single token is generated, because the wrong problem was chosen. Here's the filter I use with clients.
AILLMProductRead - 4 min read
Streaming is a product decision, not a performance one
Streaming doesn't make the model faster. It changes what the user is doing while they wait — and that's the whole point.
AIUXNext.jsRead - 4 min read
Django is a better AI backend than people expect
The AI backend conversation defaults to whatever is newest. Most of what an LLM feature needs, Django already had in 2010.
PythonDjangoAIRead