MailRoom: Open Email Triage Demo
2026
A live, runnable rebuild of the AI email triage pattern: classify, retrieve, draft, then gate every reply behind seven guardrails before a human sees it.
MailRoom is a live, runnable demo of the same email triage pattern I ship in production, built on a stack I do not get to use at work: open models instead of Bedrock (a local model on my own GPU, with a hosted Llama fallback when it is offline), and a RAG pipeline written from scratch instead of a managed one. It runs end to end with no API key in mock mode, so the whole pipeline, retrieval included, produces real numbers the code measures on itself. Every email, name, and policy in it is synthetic.
Live demoRun the whole pipeline in your browser: classify, retrieve, draft, and seven guardrails, on synthetic data. Nothing is stored or sent.Open the live demoThe problem
I build production AI email triage professionally, but that work lives under an NDA, so in an interview I can describe the architecture without ever showing it running. MailRoom closes that gap: a live demo of the same pattern that anyone can try, with nothing proprietary in it.
System design
Pipeline architecture
Process & prototyping
- Rebuilt the pipeline from scratch: classify the inbound email, check for a safety escalation, retrieve the relevant policy with RAG, draft a grounded reply, then run that draft through seven independent guardrails before it reaches a human. Nothing ever sends on its own.
- Made it runnable with no key: mock mode uses a keyword classifier, a deterministic hashed embedding searched over real Chroma vectors, and template drafting, so the full pipeline runs offline and the guardrail code is identical whether it runs on the local GPU, the hosted fallback, or the keyless mock.
- Instrumented honest metrics instead of quoting invented ones: a batch run over the synthetic inbox reports how many replies were auto cleared, held for review, or escalated, and the retrieval confidence threshold is left honestly low because the mock embedding is genuinely cruder than a trained model.
- Containerized the backend and deployed it to Azure Container Apps on a scale to zero plan, so the live demo runs at no cost when nobody is using it.
Outcome & impact
Runs end to end in mock mode with no key. Over an 18 message synthetic inbox, a batch run auto clears 6 replies, holds 12 for human review, and escalates 2 safety cases with no draft attempted, all measured by the code itself. The backend is live on Azure Container Apps at zero idle cost.
Role & collaboration
My role
Solo project: pipeline design, backend, RAG, the seven layer guardrail system, and deployment.