Engineering
Software design beyond a single framework.
-
Keep the context small: what the model sees on each turnAIEngineering
Six months ago neither I nor Claude believed a companion conversation would survive on four messages instead of the full transcript. It did, and on a small model it does more than save money.
-
One engine, any model: a model-agnostic chat engine with prompt blocks per modelAIEngineering
After a provider retired my model, switching became a requirement. How I built a chat engine where the model is a setting: structured output through a forced tool call, provider quirks kept in one place each, and a prompt that carries model-specific blocks. Plus the cheapest debugging method I know: ask the failing model why.
-
Don't guess what a model can do: run your own benchmarkAIEngineering
A provider retired the model my product was built on. That forced me to test assumptions I'd never checked: Haiku, which I had dismissed without using it, matched Sonnet at a third of the cost once the prompt stopped being tuned for Sonnet. How I compared models in two apps, what the numbers showed, and where the small model really does lose.
-
A testbench for your AI agent: reproducible runs for prompt changes and model swapsAIEngineering
A prompt edit is a code change you can't unit test, and a model swap is one setting away. How I built testbenches for two agent-based apps: replays, a simulated user, checks with baselines, token accounting, and why one run is never evidence.
-
Different models find different bugs: combining open models with ClaudeAIEngineering
Kimi and DeepSeek reported "done", Claude Opus found 7 blocking issues. On the next feature it was the other way round. Why I now review with more than one model family, and how I move work off my Claude quota without losing quality.
-
Building my own multi-model coding harness with piAIEngineering
When my Claude subscription runs out, I still want to work. How I built a backup harness with pi where open models survey, write tests, implement and review, each on its own model, with Claude one call away while the quota lasts. Plus the traps that cost me an evening each.
-
How good and how expensive are open models? What I know after a weekAIEngineering
Kimi wrote most of a real feature for about €20. Is that cheap? It depends less on the model than on the host, on cache prices and on how many turns your agents take. My measurements, next to Claude at list prices.
-
Running Chinese open models mostly safely: EU hosting changes the pictureAIEngineering
Kimi, GLM, DeepSeek and Qwen don't have to mean sending your code to China. Where your data goes depends on who hosts the model, not who trained it. What EU hosting secures, what it can't, and the controls I use for the rest.
-
How to save tokens in Claude Code: my agent team ate my usage limit in an hourAIEngineering
How to save tokens in Claude Code: what I found when my Claude Max limit suddenly ran out in an hour, and the skills, subagents and briefing rules that stopped my agents reading everything three times.
-
A password vault for AI agentsAIEngineering
How I keep deploy passwords out of files, commits and chat transcripts while Claude Code still runs my deployments, using Bitwarden Secrets Manager and secret injection.
-
Understanding the Problems with Dogmatic Programming AdviceEngineeringFlutter
Balancing mutability/immutability in OOP and using proxy objects for efficient state management in Flutter