Initial CRM
Un CRM self-hosted, API-first, construido desde cero para operar el flujo comercial de Initial Infrastructures. Single-tenant por diseño, single-binary para desplegar, y pensado para recibir su data de sistemas upstream (Crawlswarm entre otros) en lugar de ser un lugar donde los humanos la pegan a mano.
Qué gestiona: empresas, contactos, leads, deals, pipelines personalizables con etapas, registro de actividades, tags y un dashboard con Recharts. Tableros de pipeline en drag-and-drop con dnd-kit para que el equipo comercial mueva oportunidades por gesto, no por formulario.
API-first: endpoints de ingestión dedicados para imports en batch
(empresas, contactos, resultados de scraping) y una API de integración con
scopes (crm.companies:read, crm.contacts:write, etc.) para flujos
machine-to-machine. Crawlswarm empuja sus leads enriquecidos directamente
al CRM vía API key, sin paso de exportación manual.
Stack: React 18 + TypeScript + Vite + Tailwind en el frontend (Recharts para gráficos, dnd-kit para drag-and-drop, primitivas Radix para popovers y menús). Express 4 + TypeScript en el backend con better-sqlite3 para la persistencia - SQLite elegido a propósito por la simplicidad de un único archivo para respaldar y migrar.
Despliegue: un solo proceso Node detrás de Caddy (HTTPS auto) o Nginx, supervisado por systemd. El backend también sirve el frontend compilado en producción, así un VPS, un servicio, un reverse proxy es todo lo necesario.
Estado: en producción, opera el pipeline comercial de Initial Infrastructures. Acceso detrás de autenticación en el dominio de la empresa.



