Take a closer look at what I built
Each one follows the same template: the problem, the constraints, the architecture, the part that was actually hard, the trade-offs, and what I'd do differently.
10
LLMs & Agents
2How the agents behave, how they get routed, and the rules the model can never break.Multi-agent routing and the supervisor that guards the money
Five specialists, one conversation, one wallet. Why routing by intent wasn't enough on its own, and what happened when the supervisor started calling every number on the screen a lie.
Read the deep diveCompliance that distills itself
When the knowledge base changes, the rules the agent has to follow get rebuilt on their own, and re-checked before any of them go live.
Read the deep dive
Architecture
2How the pieces fit together, and how they stay untangled when things change.Passing a conversation to a person without the customer repeating anything
The agent knows when to stop. The hard part is everything after: who gets pinged, what they see, what the customer sees, and how the agent knows to shut up and not talk over them.
Read the deep diveOne domain model for scheduling, sales and delivery
Three products that looked totally unrelated, all sharing one set of core entities. The refactor that stopped a change in one of them from breaking the other two.
Read the deep dive
Testing & Observability
2Checking systems that aren't deterministic, and actually seeing what ran.Testing non-deterministic systems: a 26-conversation eval suite
You can't check a language model's exact words, but you can check what it must never do. How I turned 'is the agent lying about prices?' into a suite that runs in five minutes and stops a deploy cold.
Read the deep diveTracing an LLM agent: debugging what the model actually did
Every turn, every tool call, every piece of the prompt, saved and searchable. Bug reports stopped being 'the AI is acting weird' and started being a trace id.
Read the deep dive
Data & Domain
2One set of core entities, and the messy real world it has to model.Scheduling against the real world
No-shows, insurance plans, professionals with different skills, and a calendar that still has to turn a profit. Modeling constraints when the constraints won't sit still.
Read the deep diveBuilding a product catalog from barcodes
A crawler, a public barcode database and a whole lot of messy data, so a shop owner can add a product just by pointing their phone at it.
Read the deep dive