Asistente CRM con IAAI CRM Assistant
Convierte notas de voz en informes y tiene un agente que actúa.Turns voice notes into reports, with an agent that acts.
El seguimiento comercial acaba repartido entre notas sueltas, correos y el calendario. Después de cada reunión toca escribir el resumen a mano, acordarte de los siguientes pasos y que no se te escape ningún cliente. No había un sitio único que convirtiera lo que hablas en algo con lo que actuar, ni que te avisara de a quién toca retomar.
Es un backend en FastAPI que además sirve la PWA, con tres piezas. La primera pasa las notas de voz a informe en dos fases (primero una transcripción que puedes editar y luego el análisis) y devuelve un informe de reunión ordenado: resumen, puntos clave, decisiones, tareas y siguientes pasos con prioridad, tirando del historial del contacto para no empezar de cero. La segunda es un agente conversacional (ReAct) con herramientas de verdad: mira la agenda, agenda reuniones, busca y redacta correos (te los enseña en un popup para editarlos antes de enviar), sincroniza contactos y prepara un briefing por cliente. La tercera son avisos de "retomar contacto" por Web Push: detecta clientes cuya última reunión pasa de cierto número de días (configurable), con su propio panel, sin repetir el aviso y con opción de posponer.
Es multiusuario y cada cuenta ve solo lo suyo: sus contactos, sus informes y su propio token de Google. Se entra con Google (OAuth) o con contraseña, y hay panel de administración. Está en producción en Railway (build del Dockerfile y Postgres gestionado); la IA va sobre Google Gemini con LangGraph, la memoria semántica (opcional) con pgvector, y el chat responde en streaming, token a token (SSE).
Sales follow-up ends up scattered across loose notes, emails and the calendar. After every meeting you have to write the summary by hand, remember the next steps and make sure no client slips away. There was no single place that turned what you said into something you can act on, or that reminded you who to follow up with.
It is a FastAPI backend that also serves the PWA, with three pieces. The first turns voice notes into a report in two phases (first a transcription you can edit, then the analysis) and returns a tidy meeting report: summary, key points, decisions, tasks and next steps with priority, pulling from the contact history so it does not start from scratch. The second is a conversational agent (ReAct) with real tools: it checks the calendar, books meetings, searches and drafts emails (it shows them in a popup so you can edit before sending), syncs contacts and prepares a per-client briefing. The third is "follow-up" reminders over Web Push: it spots clients whose last meeting is older than a set number of days (configurable), with its own panel, no repeated alerts and a snooze option.
It is multi-user and each account only sees its own: its contacts, its reports and its own Google token. You log in with Google (OAuth) or a password, and there is an admin panel. It runs in production on Railway (Dockerfile build and managed Postgres); the AI runs on Google Gemini with LangGraph, the optional semantic memory on pgvector, and the chat replies in streaming, token by token (SSE).
Qué haceWhat it does
- Pasa el audio a informe de reunión con Gemini (multimodal) y de paso separa lo que es una interacción real de un recado administrativo
- Agente ReAct con memoria semántica opcional (pgvector) y acceso, por usuario, a Google Calendar, Gmail y Contactos
- Multiusuario: cada cuenta ve solo sus contactos, informes y su token de Google, con panel de administración y login con Google (OAuth) o contraseña
- Notificaciones Web Push estándar (VAPID, sin Firebase/FCM), con umbral por cliente, un chequeo diario y un panel de "clientes por retomar"
- Panel de estadísticas (KPIs, actividad por día, rankings de contactos y empresas) hecho en CSS puro, sin librerías de gráficos
- El chat responde en streaming, token a token (SSE); PWA instalable con service worker y app-shell que funciona sin conexión
- Autenticación reforzada: OAuth con PKCE y callback sin estado (verifier y CSRF dentro de un state firmado con HMAC), CSP y cabeceras a medida, CORS cerrado y freno anti fuerza bruta en el login
- Turns audio into a meeting report with Gemini (multimodal) and, along the way, separates a real interaction from an admin errand
- ReAct agent with optional semantic memory (pgvector) and per-user access to Google Calendar, Gmail and Contacts
- Multi-user: each account only sees its own contacts, reports and Google token, with an admin panel and login via Google (OAuth) or password
- Standard Web Push notifications (VAPID, no Firebase/FCM), with a per-client threshold, a daily check and a "clients to follow up" panel
- Stats panel (KPIs, daily activity, contact and company rankings) built in pure CSS, with no charting libraries
- The chat replies in streaming, token by token (SSE); installable PWA with a service worker and an offline app-shell
- Hardened auth: OAuth with PKCE and a stateless callback (verifier and CSRF inside an HMAC-signed state), custom CSP and headers, closed CORS and brute-force throttling on login
TecnologíasTechnologies
Proyecto corporativo desarrollado para uso interno: el código no es público. Si quieres saber más sobre cómo está construido,Corporate project built for internal use, so the code is not public. If you want to know more about how it works, escríbemeget in touch.