Los iframes como primitivo de composición universal.
Cada servicio de contenedor — terminal, display, archivos, editor de código, navegador, UI SQLite — es una URL HTTPS embebible en iframe. Los dashboards no se construyen encima de la infraestructura; se ensamblan a partir de ella.
Un archivo HTML + iframes = UI de infraestructura personalizada · sin SDK · sin postMessage
No construyas un dashboard sobre tu infra. Ensámblalo a partir de tu infra.
Los dashboards tradicionales leen la base de datos, consultan APIs, renderizan números y gráficas. Un dashboard de Hoody embebe iframes de los propios servicios — terminales en vivo, displays corriendo, árboles de archivos que puedes editar. No hay lag de sincronización porque no hay nada que sincronizar.
Sin capa de polling
El dashboard no consulta un endpoint de monitoreo. Embebe la cosa que está siendo monitoreada.
Leer y actuar
¿Ves un pico de métrica? Haz clic en el terminal embebido junto a él y escribe `top`. Sin cambio de contexto.
Por cliente, por proyecto, por entorno
Compone dashboards a partir de URLs — cualquier combinación es un dashboard.
Componible por IA
Un LLM puede emitir HTML con URLs de iframe. UI de observabilidad personalizada, generada bajo demanda.
Cambia el contenedor. El iframe lo refleja.
Sin postMessage. Sin protocolo padre-hijo. Un iframe muestra una URL de servicio; el servicio se actualiza vía la API HTTP; la siguiente solicitud que hace el iframe recoge el nuevo estado. El iframe y la API son el mismo contenedor.
La app embebe la URL del servicio
La página padre inserta un iframe apuntando a una URL de servicio de contenedor en su layout.
La app envía una solicitud HTTP de control
POST /api/v1/files/upload (o cualquier otra llamada a la API) — autenticada contra el mismo contenedor.
El iframe obtiene el estado actualizado
Auto-refresh, SSE o interacción del usuario activa una nueva solicitud. El nuevo archivo es visible en el iframe.
Sin protocolo envolvente
Tu app nunca envía postMessage al iframe. Simplemente actualiza el contenedor; el iframe ve el cambio en su siguiente renderizado.
Los iframes se renderizan en cada navegador. Cada navegador está en cada dispositivo.
Un dashboard de Hoody embebido funciona en un teléfono. En una tablet. En un navegador de TV. En un smartwatch. En el navegador de un visor VR. La propiedad de embebibilidad se extiende por todo el ecosistema de dispositivos porque el navegador lo hace.
El primitivo de composición es iframe + HTTPS. Ambos son universales. Esa es la única razón por la que la paridad de dispositivos es automática.
Un LLM puede componer un dashboard a partir de URLs de contenedor.
Dile a un agente 'construyeme un dashboard de health-check para estos tres contenedores'. Emite HTML con etiquetas iframe apuntando a las URLs de terminal, display y exec que nombraste. El resultado es un dashboard real y en vivo en un turno de prompt.
El agente recibe la spec
'Necesito monitorear tres contenedores: frontend, backend, db. Muestra el log de terminal de cada uno.'
El agente emite HTML
Plantilla con tres etiquetas iframe apuntando a las URLs correctas de terminal-1 para cada contenedor.
Servir desde cualquier lugar
Pégalo en un archivo estático, una página Notion que permita embeds de iframe, o un contenedor Hoody dedicado corriendo http-3000.
Abre la URL
Dashboard en vivo. Compuesto a partir de infraestructura, no de un producto de dashboard.
Donde la embebibilidad choca con los límites del navegador.
Los iframes son un primitivo del navegador. El navegador aplica reglas sobre qué puede y no puede embeberse. Estas son restricciones universales, no específicas de Hoody — pero importan cuando estás componiendo UIs.
X-Frame-Options / CSP
Las URLs externas que establecen `X-Frame-Options: DENY` o `frame-ancestors 'none'` no pueden embeberse. Los propios servicios de Hoody no lo hacen; las URLs de terceros que embutes podrían.
Contenido mixto
Embeber una URL HTTP dentro de una página HTTPS está bloqueado. Las URLs de Hoody son siempre HTTPS — funciona en cualquier lugar.
Cookies de terceros
Los navegadores bloquean cada vez más las cookies de terceros. La auth dentro de iframes embebidos puede necesitar tokens por solicitud en lugar de cookies de sesión.
Almacenamiento de terceros
El localStorage dentro de un iframe está dentro del scope del origen del iframe. El estado entre iframes necesita venir del contenedor, no del navegador.
Construye el dashboard a partir de la infraestructura, no encima de ella.
Un archivo HTML. Un puñado de etiquetas iframe. Contenedores en ejecución en vivo. Ese es el stack completo.
Ver también — /platform/os para composición dentro de Hoody, /kit/workspaces para el runtime de Workspace, /methods/multiplayer para sesiones de iframe compartidas.