Saltar al contenido
Volver a los proyectos
Productos a medida
En producción
2026

Estúdio Dupla Face

Sitio web y portal de clientes para un estudio de arquitectura

Estúdio Dupla Face — Sitio web y portal de clientes para un estudio de arquitectura

Contexto

Estúdio Dupla Face trabaja en viviendas, interiores y escenografía, y define su oficio a través de dos caras: la visible —luz, materiales, paisaje— y la que la sostiene: planos precisos y documentación que se puede seguir en la obra.

El desafío

Un proyecto de arquitectura se convierte en una pila de archivos dispersos: planos, dibujos técnicos, referencias, fotos de obra y decisiones acordadas por WhatsApp. El cliente no sabe dónde buscar y el estudio repite la misma información durante meses. El problema no era almacenar archivos, sino darles un lugar donde tuvieran sentido juntos.

La arquitectura

El plano se convirtió en la interfaz. El arquitecto coloca un marcador en cada habitación y añade tantos dibujos, imágenes y notas como necesite: el plano deja de ser una imagen y pasa a ser el índice del proyecto. A su alrededor, un portal donde el cliente habla con el estudio y descarga documentos, y un panel donde el estudio publica lo que quiere mostrar en el sitio.

Flujo de la arquitectura

  1. Panel del estudio

    • Marcadores sobre el plano
    • Publicación en el sitio
  2. Supabase

    • PostgreSQL con Row Level Security
    • Bucket privado de documentos
    • Realtime
  3. Portal de clientes

    • Acceso solo tras la aprobación
    • Mensajería en tiempo real
    • Descargas con URL de 60 segundos

Decisiones de ingeniería

Marcadores que se mantienen en cualquier tamaño

Las coordenadas de cada marcador se guardan como porcentaje de la imagen, no en píxeles. El marcador permanece exactamente sobre la habitación correcta con cualquier ancho de pantalla y nivel de zoom: un pequeño detalle que determina si la funcionalidad resulta útil desde un móvil en la obra.

La protección reside en la base de datos

Todas las tablas tienen seguridad a nivel de fila (Row Level Security), y las políticas se apoyan en tres funciones: is_admin(), is_approved() y la propiedad de cada fila. Un cliente aprobado solo ve sus propios proyectos, conversaciones y documentos, aunque la interfaz se equivoque.

Documentos privados y enlaces con caducidad

Los documentos se guardan en un bucket privado con el identificador del cliente como primer segmento de la ruta. Las descargas pasan por una ruta que vuelve a comprobar la propiedad antes de firmar una URL válida durante 60 segundos. Un enlace filtrado deja de ser un problema un minuto después.

Un fallo puntual de la base de datos no derriba el sitio

Las llamadas a la base de datos tienen un tiempo límite. Si no responde, las lecturas del sitio público muestran un estado vacío y el error queda registrado: la página sigue disponible. Las escrituras, en cambio, muestran el error de forma explícita, porque en ese caso el usuario necesita saberlo.

Acceso mediante aprobación

Cada registro comienza pendiente y solo permite el acceso después de que un administrador lo apruebe: un portal de clientes nunca se abre por sí solo.

Todas las tecnologías

Next.js 16
TypeScript
Supabase
PostgreSQL
Seguridad a nivel de fila
Supabase Realtime
Zod
Tailwind CSS v4
Artículo completoCuando el plano se convierte en interfaz: cómo construí un portal de arquitectura privado y contextual4 min de lecturaLeer el artículo