ConsultaCCT
A paid web chat (no longer online) that answered IMSS workers' questions about their collective labor agreement, every answer cited to clause, fraction and page, built on a hybrid RAG pipeline with Claude.
The IMSS–SNTSS collective labor agreement is a public 589-page PDF that governs the benefits of all IMSS staff. ConsultaCCT answers questions about it in plain Spanish, and its rule is simple: no exact citation, no answer. When it cannot cite, it says it found nothing.
ConsultaCCT is no longer online. It stays here as a case study, with screenshots of the product while it ran.
What I built, alone, from idea to production with real payments:
- RAG pipeline: structured ingestion of the contract, Voyage embeddings in pgvector, hybrid vector + Spanish BM25 search fused with RRF, Voyage reranking, out-of-scope detection, Claude Haiku that escalates to Sonnet. If the model leaves out the citation, the system adds it. PII filter before anything is processed.
- Evaluation: a golden set of 175 curated cases in 8 categories, 21 of them multi-turn, with citation accuracy as a hard gate.
- Web product: Next.js 15 chat with streaming, pricing, account and history, light and dark themes.
- Payments: monthly subscription and credit packs with MercadoPago, free-tier caps and per-query cost tracking.
- Engineering: spec-driven changes with OpenSpec, a 90% coverage gate and mutation testing in CI, separate staging and production.
Building something like this? The CV has the rest.