Stop Writing Markdown β€” Use HTML with Claude Code

Stop Writing Markdown β€” Use HTML with Claude Code

Markdown has been the default communication format between agents and humans in the AI coding space. ...

OpenSpec: agree with your AI before you write a single line

OpenSpec: agree with your AI before you write a single line

OpenSpec is a spec-driven development framework for AI coding assistants. It adds a lightweight spec ...

Retry, backoff, and the ghosts in your latency graph

Retry logic for LLM calls is one of those things that feels obvious until it nearly takes down a ser ...

Streaming responses without losing your UX

Streaming looks simple from the outside: tokens arrive, you append them, the user reads. The first t ...

Tracing LLM apps: what to log when nothing crashes

A traditional application crashes when something goes wrong. An LLM application returns a confident ...

Versioning prompts like you version code

The lifecycle of an LLM project is: someone writes a prompt that works, someone else copies it into ...

Token economics: when cheap models cost more

A cheaper model that gets the answer right 80% of the time costs more than a premium model that gets ...

Testing LLM apps when the output is non-deterministic

Testing an LLM app with the testing patterns from a deterministic codebase produces flaky tests that ...

Caching LLM responses: not just by prompt hash

The first cache anyone adds to an LLM application is a key-value store mapping prompt hash to respon ...

LLM security: the threats nobody warned you about

Security thinking for LLM apps got stuck on prompt injection because that's the dramatic one. The dr ...