02 / How I ship
From raw pixels to a system that runs itself.
Most AI projects stall between the demo and production. I've owned every stage in between, so nothing gets lost in a handover. Scroll through the pipeline.
An ASCII picture that redraws itself for each stage of the pipeline described alongside it: a labelled dataset, training curves, an edge device, a server rack, a drift chart and an LLM workflow, each with computer-vision style bounding boxes.
-
Stage 01 / Data
Great models start as great datasets.
I build the labelling and curation loop first: self-hosted CVAT with AI-assisted annotation, then FiftyOne to catch duplicates, gaps and mislabels before they ever reach training.
- weeks per annotation cycle, down from 3
- 1
- better data quality after curation
- +25%
- CVAT
- FiftyOne
- MinIO
- OpenCV
-
Stage 02 / Train & evaluate
Experiments you can repeat. Numbers you can trust.
Reusable training templates, every run tracked and versioned in ClearML, and evaluation that goes past a single mAP: per-class errors, hard cases, and a held-out set that looks like the field.
- experiments a week, up from 1
- ~10
- to train a model that used to take 2 weeks
- 1–2 days
- PyTorch
- Ultralytics YOLO
- ClearML
- ONNX
-
Stage 03 / Ship to the edge
Fast enough for the factory floor.
Models compiled with TensorRT and served with Triton, running on Jetson devices right next to the cameras, where the network is flaky and every millisecond counts.
- to grade a fruit bunch, down from ~2 min
- ~30 s
- grading accuracy in a palm-oil mill
- ~87%
- TensorRT
- Triton
- NVIDIA Jetson
- Docker
-
Stage 04 / Serve
APIs and infrastructure that stay up.
FastAPI services with PostgreSQL and Redis behind them, packaged in Docker, running on Kubernetes and described in Terraform, so a new environment is a pull request, not a week of clicking.
- from merge to production
- <5 min
- saved each month moving from AWS to GCP/Azure
- 57%
- FastAPI
- PostgreSQL
- Redis
- Kubernetes
- Terraform
- CI/CD
-
Stage 05 / Monitor
Know a model is drifting before users do.
RED metrics for the service, distribution checks for the data, and alerts that land in chat with enough context to act on, so a silent accuracy drop becomes a ticket instead of a complaint.
- faster error recovery
- 35%
- app startup, down from 10 minutes
- ~5 s
- Prometheus
- Grafana
- Loki
- Alerting
-
Stage 06 / Automate with LLMs
LLM systems with evals and guardrails.
Document pipelines, agent workflows and automations that do real work, each shipped with an eval set, so swapping a prompt or a model is a measured change rather than a hopeful one.
- to redact a 300-page document that took a week by hand
- ~60 s
- OpenAI API
- Claude Code
- AI evals
- n8n
- RabbitMQ