How I work
How I build AI systems
Evaluate before shipping
Give every agent a test set, and checks that run before its output reaches a person.
Design for failure
Let uncertain cases degrade gracefully and go to a person, instead of guessing.
Rules where possible, models where needed
Keep predictable steps in plain code, and use models for language, inside clear constraints.
Keep secrets and personal data contained
Keep keys out of logs, verify incoming webhooks, and send a model only the personal data a task needs.
Stay model-agnostic
Write prompts and interfaces that don't depend on one provider, so models can be swapped without a rewrite.
Make it observable
Log what matters, including failures, so problems show up in the data before they show up in complaints.
