Skip to content

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 study

MCP + 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 study

520M / 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 study

A 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.