El CRM inmobiliario
que vive en tu máquina.
Casalvi indexa tus PDFs, notas y contactos en local y te dice qué propietarios están a punto de vender y qué comprador encaja con cada piso. Sin SaaS, sin cuotas, sin enviar tus clientes a la nube.
Levanta Supabase self-hosted + la app en localhost:3000. Tus datos no salen del equipo.
Inteligencia de contactos, no otro CRM más
Casalvi se concentra en las dos preguntas que importan antes de una llamada: ¿a quién llamo hoy? y ¿a quién le enseño este piso?
Ingesta de tu carpeta local
Apunta Casalvi a ~/Dropbox/Inmobiliaria y extrae texto de PDFs, DOCX e imágenes. Clasifica cada archivo y lo enlaza al contacto correcto.
Top propietarios propensos a vender
Ranking explicable: divorcio detectado en una nota, contrato de alquiler a punto de vencer, mención de traslado laboral. Con razones citables.
Top compradores por inmueble
Para cada piso, los N compradores con mejor ajuste. Combina reglas (presupuesto, zona, dormitorios) con similitud semántica de sus preferencias.
Agente por WhatsApp (OpenClaw)
Servidor MCP incluido. Conecta OpenClaw a tu WhatsApp y pregunta ‘dame los 5 propietarios para llamar hoy’ desde el móvil.
Local-first por defecto
Postgres + pgvector en Docker. Auth y ficheros en tu equipo. El código que corres es el mismo que puedes auditar línea a línea en GitHub.
OpenAI u Ollama, tú eliges
Un flag en .env cambia entre la API de OpenAI y un modelo local vía Ollama. Los embeddings y el chat se abstraen en un mismo provider.
Cuatro pasos para tenerlo corriendo
Si sabes abrir una terminal, lo tienes en diez minutos.
Levanta Supabase self-hosted (Postgres + pgvector + Auth + Storage) y deja la API en localhost:54321.
Arranca la app Next.js en localhost:3000. Pega tu OPENAI_API_KEY en .env.local o activa Ollama.
CSV de contactos + ruta local en /dashboard/ingest. Casalvi lee cada archivo, lo clasifica y lo enlaza.
Rankings con razón explicable. Conecta OpenClaw al MCP si quieres pedir los rankings por WhatsApp.