Context
Two financial advisory teams (Spain and Greece) within a large European financial distribution network ran their entire operation on Google Sheets, Excel and scattered PDFs. Checking what an insurance policy covers meant digging through documents manually — or asking the one admin who knew.
The problem
- No CRM: client management, advisor onboarding and follow-ups were untracked.
- Policy questions (coverage, costs, exclusions, product comparison) required manual reading of dense legal documents ("condicionados").
- Advisors work from their phones, in the field.
What I built
- CRM platform (React 19 SPA + Supabase): clients, pipeline, advisor onboarding.
- RAG engine over policy documents: coverage lookup, cross-document comparison and product-vs-product answers, grounded in the actual policy text. Corpus grows as new insurers are added.
- Coaching knowledge layer: sales and communication books processed into the assistant so it can coach advisors, not just answer policy questions.
- AI copilot inside the web app: advisors ask it from the platform itself, with access to the same knowledge base, for coverage lookups, product comparisons and sales coaching.
- WhatsApp assistant per advisor: developed, but not rolled out. The copilot lives in the web app today.
Results
| Metric | Value |
|---|---|
| Active advisors (largest team) | 248 |
| Second deployment | ~15 advisors, growing |
| Before | Sheets/Excel, manual document lookup, no CRM |
| Policy lookup | Minutes of manual reading → seconds, grounded answers |
Stack
React 19 · Vite · TypeScript · Supabase (Postgres + pgvector + RLS) · Tailwind/shadcn · TanStack Query · n8n


