Travel Agency CRM & AI Assistant
Side project · In productionIndependently designed and built a Customer 360 CRM and AI assistant for my family's travel agency, now in production on its real customer data. The requirement was trust: numbers from the database, claims backed by evidence, customer data kept inside.
Live demo ↗Architecture →Evaluation report →
- Routed by data type: SQL answers counts and statuses, and only approved aggregate data goes to hybrid retrieval inside PostgreSQL, under the same row-level security as the records.
- Numbers are computed by approved queries and text claims stay tied to cited evidence; invalid model output falls back to a deterministic answer. Customer-level data stays out of external-model calls.
- Used 66 internal regression questions and seven governance checks, plus a separate 198-question paraphrase set for robustness. A thin state machine instead of an orchestration framework keeps every step testable.
Outcome
On 198 hidden paraphrases, 93.4% routed correctly and 89.4% passed end to end, with zero governance failures (synthetic data, one engine version); a de-identification gap meant the external-model path stayed closed. The read-only demo uses synthetic data and a local mock model.
- Next.js
- React
- TypeScript
- Python
- PostgreSQL/pgvector
- Cloudflare Workers AI
- RAG
