Saltar al contenido
POLARGATE
Construcción y reformas hoteleras

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.

Un hombre con casco blanco sostiene una tableta con una cuadrícula de planificación por colores y observa a un operario en un andamio, en plena obra
40.4168° N · 3.7038° W
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.

FAQ

Preguntas sobre este proyecto

¿Cuánto se tarda en sustituir nuestras hojas de cálculo por un sistema a medida?
La primera versión probable de este sistema llegó a producción alrededor de un mes después de arrancar el desarrollo, con once módulos. Polargate trabaja por fases: un Discovery de alcance cerrado que convierte tus libros de Excel y tus mapas de proceso en un modelo de datos, y después una primera fase que ya puedes usar en producción mientras se construye el resto. El calendario depende sobre todo de la rapidez con que tu equipo responda a las dudas de modelado.
¿Podemos seguir trabajando en obra mientras se construye el sistema?
Sí. La Fase 1 se diseñó para convivir con las hojas de cálculo en lugar de sustituirlo todo de golpe, y los datos de demostración se mantuvieron separados de los reales con una etiqueta visible, para que el equipo pudiera probar sin ensuciar los registros de verdad. Cada módulo entra en producción cuando está listo. Nada obliga a una fecha única de corte, y el calendario de obras se usa desde el móvil a pie de obra desde el primer día.
¿Quién puede ver los costes y los márgenes dentro del sistema?
Solo los roles que deben verlos. El coste y el margen no se ocultan en la interfaz: los elimina una vista de base de datos antes de que el dato llegue al navegador, y el acceso lo decide un enum de roles que se comprueba dentro de Postgres. El RLS está activado y forzado en las 23 tablas, así que un usuario que consulte la API directamente sigue viendo solo lo que su rol permite.
¿Funciona en el móvil a pie de obra?
Sí. La aplicación es mobile-first: el calendario de obras, la agenda por departamento, el parte de incidencias y la recepción de material se diseñaron para un móvil sostenido con una mano, con áreas táctiles de 44 píxeles y fotos hechas directamente con la cámara. Funciona en el navegador, así que no hay nada que instalar, y las mismas cuentas sirven en el escritorio de la oficina.
¿El código y la base de datos son nuestros?
Sí. El proyecto se prototipó rápido en una herramienta de scaffolding y después se desacopló por completo: repositorio propio en GitHub, proyecto propio de Supabase alojado en la UE, despliegue propio en Vercel y correo transaccional enviado desde el dominio del propio cliente. No hay ningún entorno propietario por medio, así que el código y la base de datos Postgres se pueden entregar o alojar en otro sitio.

Proyectos relacionados

INITIATE

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.