Una plataforma interna a medida para Elite Smart Build
Elite Smart Build, constructora española especializada en reformas hoteleras que trabaja en más de veinte países, llevaba cada obra con hojas de cálculo y correo. Polargate lo sustituyó por once módulos sobre Supabase y React: Gantt diario, márgenes enmascarados por rol, avisos por departamento y recepción de material con incidencias automáticas.

- 11
- módulos entregados en la Fase 1
- 23
- tablas de Postgres con RLS forzado
- ~1 mes
- desde el inicio del desarrollo hasta la primera versión en producción
- 10
- cuentas por rol activas en el dominio del propio cliente
- 59
- hallazgos de auditoría confirmados y corregidos antes de las pruebas
El problema
Elite Smart Build reforma hoteles en más de veinte países y llevaba cada obra con hojas de cálculo. Cada obra tenía su libro de Excel, la planificación diaria era un Gantt que alguien rehacía a mano y el resto viajaba por correo entre siete departamentos. Nadie miraba la misma versión de la realidad al mismo tiempo. Un fallo de coordinación entre compras, logística y obra ya les había costado una pérdida de seis cifras en un solo trabajo: material equivocado, no detectado en la recepción, instalado y después desmontado y rehecho.
Qué construimos
Polargate partió de los libros de Excel y del mapa de proceso de cinco fases que Elite ya usaba, los convirtió en un modelo de datos normalizado y cerró por escrito con el cliente doce dudas de modelado antes de programar nada. El alcance quedó fijado en una especificación firmada: once módulos para la Fase 1, con el módulo financiero y la facturación a cliente fuera de forma explícita. Después construimos una aplicación web mobile-first sobre Vite, React, TypeScript y Tailwind, con Supabase Postgres, Storage, Auth y Edge Functions detrás, desplegada en Vercel y sobre el dominio del propio cliente.
El resultado
La primera versión para probar llegó a producción alrededor de un mes después de arrancar el desarrollo, con diez cuentas por rol y el motor de avisos funcionando cada día hábil. El RLS está forzado en las 23 tablas y un trigger de base de datos escribe cada cambio en un registro de auditoría inmutable. Antes de que entrara el primer usuario, una auditoría multiagente adversarial dejó 59 hallazgos confirmados, uno de ellos bloqueante, y se corrigieron todos. La aplicación está en pruebas con el cliente, con revisiones semanales, y todavía no existen cifras de adopción ni de retorno.
Stack
- Vite
- React
- TypeScript
- Tailwind CSS
- shadcn/ui
- React Router
- Supabase
- PostgreSQL
- Deno
- Resend
- Vercel
- GitHub
- Claude
El contexto
Elite Smart Build hace reformas integrales de hoteles sin obra estructural. Con trece años de trayectoria y más de 200 proyectos en veinte países, gestionaba cada obra con hojas de cálculo. Cada obra tenía su libro de Excel, la planificación diaria era un Gantt que se rehacía a mano y el resto se movía por correo. Siete departamentos trabajaban sobre copias de copias. Un solo fallo de coordinación entre compras, logística y obra ya les había costado una pérdida de seis cifras: se pidió el material equivocado, nadie lo detectó en la recepción, se instaló y hubo que rehacerlo.
Qué encontramos en el Discovery
Partimos de lo que Elite ya usaba, no de una hoja en blanco. Leímos cinco libros de Excel en uso (tres procedimientos de obra, el calendario de obras 2026 y el listado de presupuestos 2026), el mapa de proceso J-500 de cinco fases y la cadena de correos de un envío que salió mal. De ahí salieron las entidades que importaban: obras, fases, departamentos, personas, proveedores, presupuestos, envíos, recepciones e incidencias. Doce dudas de modelado volvieron al cliente y se cerraron por escrito antes de escribir una línea de aplicación. El alcance quedó fijado en una especificación firmada: once módulos para la Fase 1, con el módulo financiero y la facturación a cliente fuera de forma explícita.
Qué construimos
Una aplicación web mobile-first sobre Vite, React 19, TypeScript, Tailwind y shadcn/ui, con Supabase Postgres detrás y despliegue en Vercel.
- Calendario: Gantt diario de las obras activas con los operarios asignados a cada día.
- Presupuestos: coste y margen enmascarados por rol mediante una vista de base de datos, de modo que un jefe de obra y dirección ven columnas distintas del mismo registro.
- Agenda: tareas por departamento con semáforo en días hábiles y justificación escrita cuando algo se incumple.
- Incidencias y Recepción de material: el cotejo se hace línea a línea y una discrepancia genera automáticamente una incidencia con foto.
- Checklists por fase J-500 y departamento, además de proveedores, personas, disponibilidad y notificaciones.
Cómo funciona hoy
El control de acceso vive en la base de datos, no en la interfaz: RLS activado y forzado en las 23 tablas, roles resueltos con un enum de diez valores y un trigger que escribe cada cambio en un registro de auditoría inmutable que solo dirección puede consultar. Una Edge Function de Supabase sobre Deno se ejecuta de lunes a viernes y envía a cada departamento sus pendientes desde el dominio del propio cliente, verificado con DKIM y SPF a través de Resend.
La aplicación se prototipó en Lovable y después se desacopló por completo: repositorio propio en GitHub, proyecto propio de Supabase y despliegue propio en Vercel, sin depender de un entorno ajeno. Antes de que entrara el primer usuario pasamos una auditoría multiagente adversarial que dejó 59 hallazgos confirmados, uno de ellos bloqueante, y se corrigieron todos. La primera versión para probar llegó a producción alrededor de un mes después de arrancar el desarrollo, con diez cuentas por rol y revisiones semanales con el equipo del cliente.
Preguntas sobre este proyecto
¿Cuánto se tarda en sustituir nuestras hojas de cálculo por un sistema a medida?
¿Podemos seguir trabajando en obra mientras se construye el sistema?
¿Quién puede ver los costes y los márgenes dentro del sistema?
¿Funciona en el móvil a pie de obra?
¿El código y la base de datos son nuestros?
Proyectos relacionados
Arranca el motor
Cuéntanos qué estás construyendo en unas pocas preguntas cortas. Un ingeniero senior responde por escrito en 48 horas laborables con una primera lectura de alcance, plazos y precio.
