A working sample of the systems I build: some shipped to production, some still proving themselves out.
A scoring framework that grades RAG retrieval quality against a labeled query set, so retrieval changes get judged on precision and recall instead of spot-checking a few answers by hand.
Python · pgvector · pytest
Read the case study →Classifies incoming support tickets, drafts a first-pass response, and escalates anything below a confidence threshold to a human, instead of trying to automate everything.
TypeScript · Cloudflare Workers · Queues
Read the case study →Turns unstructured PDFs and emails into structured records with per-field confidence scores, routing low-confidence extractions to a review queue rather than guessing silently.
Python · Workers AI · D1
Read the case study →CI-integrated testing for LLM-backed features: every prompt or model change runs against a fixed set of cases before it can merge, catching silent quality regressions.
TypeScript · GitHub Actions
A RAG chatbot over internal documentation that cites its sources inline, built to be honestly wrong sometimes rather than confidently wrong always.
Workers AI · Vectorize · React Router
Drafts first-pass risk memos grounded strictly in supplied source documents, with numeric claims traced back to a citation. Human underwriters review and sign off on every memo.
Python · Structured Outputs
Read the case study →