560 KB de HTML: ¿Qué hace este archivo desafiando a PowerPoint?

WebHerramientasCódigo Abierto

Fuentes:HN + web research · HN

Apertura: Una cifra que enciende el debate

El 22 de julio de 2026 apareció un hilo en Hacker News: «Show HN: Bento — PowerPoint entero metido en un archivo HTML». En 8 horas, cosechó 591 votos y 141 comentarios. El dato ya es una señal: en una comunidad que reúne a los lectores técnicos más exigentes del mundo, que un proyecto reciba tal atención significa que toca una necesidad real.

El autor siguió el enlace y se encontró con una pestaña del navegador que contenía un editor de presentaciones completo. Con barra de herramientas, miniaturas laterales, posibilidad de escribir, dibujar formas, insertar gráficos y añadir anotaciones. Pulsas Esc para editar, las flechas para avanzar diapositivas, la S para abrir la vista de presentador. No parece nada especial, salvo por un hecho: ese editor no es un sitio web, ni una app; es un único archivo HTML.

Captura de la interfaz del editor Bento Slides Figura: Interfaz de edición de Bento Slides. Barra de herramientas superior, miniaturas a la izquierda, área de edición principal y navegación inferior. Similar a cualquier software de presentaciones convencional, pero todo funciona dentro de un archivo HTML de 560 KB.

«El archivo es el software»

Esa frase es el credo del proyecto Bento. El autor localizó el código completo en GitHub — el proyecto se llama bento, creado por starfallg, bajo licencia MIT.

Hagamos una comparación. Un archivo .pptx de PowerPoint es un paquete comprimido que contiene XML, imágenes, audio y otros recursos, pero no se puede ejecutar por sí mismo — necesitas instalar PowerPoint (o usar Office 365 en la web) para abrirlo y editarlo. La suscripción anual de Microsoft 365 Personal cuesta cientos de yuanes y el instalador pesa varios GB.

Bento hace justo lo contrario: pone el software dentro del archivo.

Al abrir bento.page/slides, aparece un editor de presentaciones completo directamente en el navegador. Puedes crear contenido, ajustar el diseño, añadir animaciones en esa misma «página». Lo más sorprendente: cuando pulsas Ctrl+S, el archivo HTML se reescribe a sí mismo — tu edición se guarda dentro de él. La próxima vez que abras ese archivo, encontrarás el editor completo con todo tu contenido intacto.

El autor hizo una comparativa de tamaños:

ProyectoTamaño¿Requiere instalar software adicional?
Presentación Bento por defecto~560 KBNo, basta un navegador
Paquete de instalación de PowerPoint3-5 GB
Paquete de instalación de Keynote~1.5 GB
Google Slides (web)Depende de la redRequiere inicio de sesión y conexión

La diferencia es de miles de veces. Esta comparación plantea una pregunta inevitable: ¿por qué una presentación necesita varios GB de software para funcionar?

Abriendo el archivo por dentro

Para entender cómo Bento consigue ser tan pequeño, el autor revisó su estructura interna. Un archivo .bento.html se organiza en varias capas.

La capa más externa es un documento HTML válido. Tiene declaración DOCTYPE, <head> y <body>. Cualquier navegador puede abrirlo. Pero su estructura interna es inusual.

Cerca del encabezado hay una etiqueta <script> con id «bento-doc» y type «application/bento+json». Dentro, todos los datos de la presentación se almacenan en formato JSON de texto plano — el contenido de cada diapositiva, la posición y tamaño de cada elemento, colores, fuentes, configuraciones de animación. Puedes verlo directamente con «Ver código fuente» en el navegador, en un formato legible.

Este diseño tiene una ventaja profunda: los datos y el código están separados, pero coexisten en un mismo archivo. Las herramientas de IA pueden leer y modificar ese bloque JSON directamente; los desarrolladores pueden buscar y reemplazar contenido con un editor de texto; los sistemas de control de versiones pueden comparar cambios línea por línea.

El resto del archivo — el «software» propiamente dicho — está almacenado en un bloque de JavaScript comprimido. Este código contiene varias partes clave: un motor de presentación basado en Reveal.js, un sistema de animación propio, un motor de gráficos propio, y una interfaz de editor impulsada por Vue. Antes de la versión 0.7.0, Bento usaba GSAP para animaciones y ECharts para gráficos. El autor los reemplazó por soluciones propias por una razón muy directa: reducir el tamaño del archivo de 1.3 MB a 560 KB.

Página del repositorio de Bento en GitHub Figura: Página principal del proyecto Bento en GitHub, con 260 commits y 389 estrellas, que reflejan un ritmo de desarrollo activo. La licencia MIT permite que cualquiera lo use y modifique libremente.

Una hoja en blanco con una navaja suiza

Si hubiera que describir el enfoque de Bento con una metáfora, la imagen más precisa sería: una hoja de papel en blanco que esconde en su interior una navaja suiza completa.

El modelo tradicional del software de oficina es «primero compra la herramienta, luego crea el contenido». Para hacer una presentación, primero instalas PowerPoint (o te compras un Mac para Keynote), y luego creas un archivo nuevo dentro del software. El archivo en sí es frágil — si envías un .pptx a alguien que no tiene Office instalado, no podrá abrirlo.

El modelo de Bento es «lo que creas es en sí mismo la herramienta». Descargas un archivo HTML desde bento.page/slides y obtienes una «cáscara de presentación». Creas contenido dentro de ella, guardas, y ese archivo se convierte en una presentación autocontenida — es a la vez el contenido y todas las herramientas necesarias para abrirlo.

Envías ese archivo por WeChat, correo electrónico o AirDrop a un colega; este lo abre con doble clic y ve tu presentación — lista para proyectar o editar. Sin necesidad de instalar nada, sin registrar cuenta alguna.

La diferencia en la experiencia se puede ilustrar con un escenario simple:

Imagina que eres un jefe de proyecto y has preparado una presentación trimestral. Envías el archivo a tu jefe, que lo abre en el móvil — en el modelo tradicional, lo más probable es que vea «No se puede abrir este archivo» o un formato desordenado. En el modelo de Bento, solo necesita un navegador para ver exactamente la misma maquetación, animaciones y gráficos que diseñaste.

Edición colaborativa: La ingeniosa idea del reenvío ciego cifrado

Aún más interesante es la función de edición colaborativa de Bento. El autor se preguntó al principio: ¿cómo puede un archivo HTML permitir que varias personas editen simultáneamente? ¿Dónde se almacenan los datos?

La respuesta: los datos están en el archivo, y la edición se sincroniza a través de un canal de «reenvío ciego» cifrado.

Cuando inicias una sesión colaborativa en Bento, el archivo genera un par de claves de cifrado localmente. Los colaboradores que invitas reciben la misma copia del archivo (con las claves incrustadas). Cada edición se cifra y se envía a un servidor de retransmisión que se ejecuta en Cloudflare Durable Objects — ese servidor hace una sola cosa: reenviar los datos cifrados a los demás participantes de la sala.

Este servidor de retransmisión está diseñado para ser «ciego» — transmite texto cifrado, el servidor no puede leer ningún contenido. No ve tus textos, gráficos, imágenes, ni siquiera tu nombre. Es un mero transportista de datos cifrados.

El motor de sincronización utiliza CRDT (tipos de datos sin conflictos de replicación), una técnica ampliamente estudiada en sistemas distribuidos que permite que múltiples personas editen los mismos datos simultáneamente sin necesidad de un servidor central que decida «qué modificación es la definitiva». El CRDT de Bento es de desarrollo propio; el autor destacó en la discusión de HN: «Lo que más me satisface es la fluidez del CRDT».

Hay además un detalle muy bien pensado: la edición sin conexión. Puedes modificar la presentación sin internet y, cuando la conexión se restablezca, tus cambios se sincronizarán automáticamente con el equipo. El CRDT garantiza una fusión correcta — no ocurrirá que «tus cambios sobrescriban los míos».

Un proyecto hecho por un padre en su tiempo libre

En los comentarios de HN, el autor encontró algunos antecedentes interesantes. Alguien preguntó cuánto tiempo había llevado y cuánta ayuda de IA había recibido. La respuesta de starfallg: «Empecé la semana pasada, en mi tiempo libre, todo hecho con Claude Code. La verdad es que me habría gustado escribir el código a mano como antes, pero lidero un equipo técnico en una empresa de energías renovables y cuando llego a casa tengo que cuidar de mi hijo pequeño; no tengo tiempo».

Estas palabras revelan varias cosas: el código principal de Bento fue generado con ayuda de IA (Claude Code), todo el proyecto, desde la idea hasta el lanzamiento, llevó poco más de una semana de tiempo libre, y el autor es un gestor técnico cuyo trabajo diario no tiene relación con el software de oficina.

Quizá esto explique por qué el enfoque de Bento es tan diferente del software de oficina tradicional — no arrastra el lastre histórico de «compatibilidad con formatos antiguos» ni la dependencia de «debemos diseñarlo como Office». Es el producto de alguien que parte de «qué necesita realmente un desarrollador».

Los límites de 560 KB

Por supuesto, como proyecto que apenas tiene una semana de vida, Bento tiene sus limitaciones. El autor observó varios aspectos durante sus pruebas:

En primer lugar, por ahora solo es adecuado para presentaciones de complejidad media. Si necesitas un control tipográfico muy preciso, diseños de diapositiva maestra complejos o procesar muchas imágenes de alta resolución, las herramientas tradicionales siguen siendo más maduras.

En segundo lugar, su edición colaborativa depende actualmente del servicio de retransmisión proporcionado por la cuenta de Cloudflare del autor. Aunque este afirma que «el coste es muy bajo, está totalmente dentro del presupuesto», también significa que si muchos usuarios lo utilizan a la vez, la estabilidad del servicio podría ser variable. No obstante, como el código es completamente abierto, cualquier equipo puede implementar su propio servidor de retransmisión.

En tercer lugar, su formato de archivo es actualmente una estructura JSON propietaria. Aunque el código fuente es abierto y el formato legible, no existe un canal de conversión directa con el formato .pptx. El autor propone una idea: pasar el .pptx a una IA para que lo regenere según las especificaciones de Bento.

El verdadero significado de este proyecto

Si consideramos Bento simplemente como una «herramienta para sustituir PowerPoint», estaríamos desperdiciando la reflexión que hay detrás. La pregunta más valiosa que plantea Bento es: en una era donde la IA puede escribir código, ¿hay que replantearse la forma de distribuir el software?

El modelo tradicional de distribución de software — descargar un instalador, instalar dependencias runtime, registrarse, iniciar sesión en la nube — puede ser excesivo para un número creciente de herramientas ligeras. Bento ofrece otra respuesta: fusionar software y contenido en un solo archivo, usando el navegador como entorno de ejecución, de modo que el archivo posea una «capacidad de auto-ejecución» que no requiere ninguna infraestructura.

Esta idea no es nueva. Hace más de veinte años, TiddlyWiki ya lo intentó de forma similar: un archivo HTML autocontenido que era a la vez motor Wiki y contenido Wiki. TiddlyWiki sigue teniendo usuarios fieles, pero nunca entró en la corriente principal.

Pero los tiempos pueden haber cambiado. Las capacidades de los navegadores de hoy son incomparablemente mayores (la API File System Access permite a las aplicaciones web leer y escribir archivos locales directamente, la API WebCrypto proporciona capacidades de cifrado a nivel de navegador), las cadenas de herramientas frontend modernas hacen más eficiente la construcción de aplicaciones complejas de una sola página, y la codificación asistida por IA reduce drásticamente la barrera técnica para materializar este tipo de ideas. Bento se encuentra justo en la confluencia de todas estas tendencias.

El autor leyó un comentario en HN que decía, más o menos: «Este proyecto es una acusación perfecta de la inacción del equipo de Google Workspace en la era de la IA». Sea justa o no esta valoración, Bento plantea una pregunta que merece reflexión: cuando un archivo HTML de 560 KB ya puede cubrir todo el flujo de edición, presentación y colaboración de una presentación, ¿realmente necesitamos suites ofimáticas de cientos de GB y servicios de pago mensual?

La respuesta quizá no sea un simple «sí» o «no». En el mundo real, la mayoría de los usuarios probablemente necesitan tanto la ligereza de Bento como la estabilidad y compatibilidad ecológica del software ofimático tradicional. Pero la existencia de Bento, al menos, permite vislumbrar la posibilidad de otro camino — uno más ligero, más libre, más «nuestro».

Enlaces de referencia

  • Show HN: Bento — Hilo original en Hacker News (591 votos, 141 comentarios)
  • Repositorio de Bento en GitHub — nyblnet/bento, licencia MIT, 260 commits
  • Bento/Slides demo online — Editor listo para usar con presentación de funciones integrada
  • Sitio web oficial de Bento — Galería de plantillas e información del proyecto
  • TiddlyWiki — Sistema Wiki en un solo archivo HTML, predecesor conceptual de Bento
  • Reveal.js — Framework HTML de presentaciones open source, base de renderizado de Bento
  • Cloudflare Durable Objects — Infraestructura del servicio de retransmisión colaborativa de Bento
  • File System Access API — API del navegador que permite a Bento «guardarse a sí mismo»