Systems I have taken to production
Each of these includes the architecture, the number it is remembered for, and the thing that broke on the way. I include the failures because a case study without one is marketing, and because the failure is usually the most useful part to read.
2–3 days → 30s
Reporting turnaround
ReliabilityObservability
A text-to-SQL agent 2,000 people could actually trust with HR data
A natural-language analytics agent over sensitive workforce data, serving 2,000 concurrent users across isolated tenants. Reporting went from 2–3 days to under 30 seconds — but only after we stopped trusting the model with the boundary.
What broke: The agent generated a syntactically perfect query that would have read another tenant's data. The SQL was valid, the intent was innocent, and the isolation existed only in the prompt.
PythonFastAPIAWS BedrockLangChain AgentsPostgreSQLVector embeddings / RAG
Read the full case studyMCP + CrewAI
In production, not a demo
ReliabilityCost & latency
Multi-agent systems without the spiral
Two production agent systems on MCP and CrewAI — a project-management assistant and an autonomous lead-generation pipeline. What multi-agent buys you, what it costs, and the specific cases where a single agent with good tools wins.
What broke: A researcher agent and a qualifier agent disagreed about whether a company was worth pursuing, so the orchestrator asked both again. And again. Nineteen billed model calls to decide one lead was a bad fit.
PythonFastAPIModel Context ProtocolCrewAILangChainAzure OpenAI
Read the full case study520M / 15 min
Sustained ingestion
Cost & latencyObservability
520 million parameters every 15 minutes
A configuration-driven telecom data platform processing 200M configuration and 320M performance parameters per 15-minute cycle on Golang, Kafka, Kubernetes and PostgreSQL. The project that shaped how I think about bounded resources — and why I trust it more than any AI credential I have.
What broke: Throughput was fine in steady state and collapsed on late-arriving batches. The pipeline had no backpressure — it had optimism, which is a different thing.
GolangApache KafkaKubernetesPostgreSQLOracleAzure Data Explorer
Read the full case studyA note on what is not here
I have shipped more than three systems in nine years — recruitment platforms, contract lifecycle management, meeting transcription, computer vision, published open-source packages. They are on the about page. These three are here because they are the ones that taught me something I still use, and I would rather write three properly than list eleven.