Un directorio público para residencias de cuidados
ComfortMap resuelve un problema de descubrimiento: las familias que buscan una residencia de cuidados para un progenitor necesitan un lugar donde comparar opciones reales, no solo un directorio estático con datos públicos sin actualizar.
La diferencia con un directorio estático de datos públicos
Las alternativas del mercado suelen ser directorios estáticos, alimentados con datos públicos del ministerio y sin actualizar por las residencias. ComfortMap es un marketplace real, con un perfil dinámico que edita directamente cada residencia: descripción, fotos, servicios, precio desde, capacidad.
Páginas públicas SEO + paneles por rol
Además del directorio público, el portal tiene tres tipos de acceso: el personal de la residencia, las familias y el super-admin (visibilidad a nivel de plataforma).
- 01Directorio público SEO páginas por provincia y perfil individual, renderizadas con ISR — rápidas, indexables, coste de infraestructura mínimo.
- 02Dashboard personal operativo, día a día — residentes, diario, mensajería directa con las familias.
- 03Portal familia diario, fotos, informes semanales, actualizados por el personal, visibles para la familia.
De la estructura por roles a un bug reparado en el origen
- 01Estructura de rutas públicas (/camine, /camine/[județ], /camine/[județ]/[profil]) renderizada con ISR (regeneración estática incremental, cada hora).
- 02Tres niveles de acceso separados — personal, familia, super-admin — con Row Level Security a nivel de base de datos.
- 03Auditoría de producción para los errores reportados por el cliente — identificación de la causa real, no solo del síntoma.
- 04Reparación en el origen, más error boundaries dedicados en cada zona de la aplicación.
- 05Verificación en vivo del flujo completo para los tres roles, tras la reparación.
De caídas intermitentes a funcionamiento verificado
Una actualización de sesión fallaba silenciosamente por una política de seguridad demasiado estricta a nivel de base de datos, lo que dejaba a algunos usuarios sin acceso funcional a la cuenta, sin ningún mensaje de error claro — solo un crash genérico. Reparamos la causa, no solo el síntoma, y verificamos en vivo el flujo completo para los tres roles — autenticación mediante magic link, acceso correcto al dashboard, sesión persistente, registro de auditoría funcional para acciones sensibles (conforme a los requisitos de conservación de datos durante 5 años).
Qué hemos usado
Next.js con App Router, Supabase/Postgres con Row Level Security para el aislamiento de datos por rol, autenticación magic-link, registro de auditoría para acciones sensibles, hosting con renderizado ISR para las páginas públicas.
El mantenimiento real significa reparar la causa, no el síntoma
La señal que nos llevó al bug no fue un error claro, sino un crash genérico — el tipo de informe vago que resulta tentador tratar de forma superficial. El diagnóstico mostró una política de seguridad demasiado estricta a nivel de base de datos, no un problema de interfaz. Reparamos la causa, no el síntoma, y añadimos error boundaries para que un error similar, en el futuro, no vuelva a bloquear toda la plataforma — solo la zona afectada.
En el momento de la auditoría todavía quedaba una única zona con datos simulados (la configuración de contacto de una residencia) — la documentamos explícitamente como elemento abierto, no la ocultamos.
Preguntas frecuentes
¿Qué diferencia hay con un directorio estático de residencias?
ComfortMap tiene un perfil dinámico, editado directamente por cada residencia (descripción, fotos, precio, servicios), no datos públicos estáticos sin actualizar.
¿Qué bug encontrasteis y cómo lo arreglasteis?
Una actualización de sesión posterior a la autenticación fallaba silenciosamente por una política de seguridad de la base de datos; movimos la operación a un canal con los permisos correctos y añadimos error boundaries, de modo que un error similar muestre un mensaje claro en lugar de un crash.
¿Cómo están separados los datos entre los tres roles?
Mediante Row Level Security a nivel de base de datos: cada rol ve solo los datos a los que tiene derecho de acceso, verificado en la fuente, no solo en la interfaz.
Veamos qué se puede automatizar en tu empresa.
Una sesión gratuita de 30 minutos: te decimos qué se puede automatizar, cuánto se tarda y cuánto cuesta, con precio fijo tras el discovery.

