Monica’s Digital Twin
A reliable conversational agent designed to say “I don’t know.”
- May 2026live and operating since
- 66golden test cases graded by an LLM judge
- 12attack tests against the real handler
- 3.86 smean latency, p90 4.95 s, streaming on
The problem
A recruiter or hiring manager wants fast, accurate answers about me. A chatbot that invents facts is worse than no chatbot. The question: how does a public AI earn trust with strangers?
The result
- A public agent grounded in retrieved source documents, live since May 2026.
- 66-case golden question set graded by an LLM judge; the 7 newest cases (streaming and hardening) pass 7/7.
- 12 attack tests run against the real request handler.
Key design decisions
- Honesty is the feature. If the sources cannot answer, it says “I don’t know” and tells me, instead of guessing. A gap becomes a to-do, not a hallucination.
- Escalate to a human. Hiring or collaboration interest triggers a push notification to my phone within seconds. The agent’s only real-world action is notifying a person.
- Answers you can trace. Every reply is built from retrieved passages with source attribution.
- It feels fast. Replies stream token by token, and errors become a clean retry message instead of a crash.
- Guardrails you can’t talk past. Private details are never disclosed, and a redaction guard runs on every streamed chunk. Forged conversation history is stripped.
- Built so each stage can be tested. Chunking, embedding, retrieval, context and generation are separate, so a bad answer can be traced to one stage.
How it earns trust: reliability and availability
- Live and operating since May 2026. Hosted on Hugging Face Spaces.
- Errors never crash a session. An embedding or API failure becomes a clean retry message and is logged for follow-up.
- Abuse and cost bounds. Rate limits, a 2,000-character message cap, a 3-round tool-loop cap, a bounded request queue, and a monthly spend limit keep it available and affordable.
- Measured, not assumed. The golden set, the attack tests, and latency are tracked per release.
How it fails safely
- If it does not know: it says “I don’t know” and notifies a human. It never guesses.
- If something breaks: embedding, API or tool errors become a clean retry message and are logged. One failure never crashes a session.
- If someone abuses it: rate limits, a 2,000-character message cap, a 3-round tool-loop cap, a bounded request queue, and a monthly spend limit.
- If someone tries to trick it: forged conversation history is stripped, private details are redacted even mid-stream, and 12 attack tests cover these paths.
- How I know it works: a 66-case golden set graded by an LLM judge, with latency tracked per release.
What I would do next
- Retrieval scoring (recall@k, MRR) and a regression gate on every deploy.
- Usage metrics: p95 latency and cost per query.
- Watch real visitor conversations to refine tone and escalation wording.
Skills shown
Conversational interface design, trust and transparency, guardrails, evals, observability, and shipping and operating AI in production.