Practice
How I build with LLMs
- Every model call through OpenRouter, with the model chosen per request
- An OpenTelemetry span per model call, with GenAI semantic conventions
- Every call kept in a ledger with billed cost and tokens, failures included
- Hybrid retrieval, and async generation through Pub/Sub
- Hand-checked answer sets with automatic scoring to drive prompt and model changes
- MCP servers with OAuth 2.0 and per-user consent
