Un solo archivo HTML lo hace todo.
CrisisPulse — crisispulse.org — vigila conflictos en todo el mundo, calcula necesidades de suministros de emergencia y atiende a usuarios en inglés o chino. Sin base de datos backend. Sin el lío de React. Sin compilaciones que te lastran. Solo 99 KB de HTML, CSS y JS puro, con un toque de D3.js para ese mapa mundial interactivo. Y se actualiza todos los días. Los hechos mandan: no es puro humo; está en vivo, gratis y sin registro.
Netlify es el héroe callado aquí: sus funciones programadas arrancan a diario, devorando feeds RSS de Bing de 25 zonas calientes de conflicto. Parsea titulares, convierte conteos de artículos en scores de intensidad y detecta variaciones semana a semana. Luego traduce lotes al chino con el endpoint gtx no documentado de Google. Todo se guarda en Netlify Blobs, su almacén KV integrado. Nada de facturas de Postgres acumulándose. Ni pesadillas operativas con Redis.
¿Cómo logra un solo archivo HTML actualizaciones globales diarias?
¿Tráfico de visitas? También serverless. Cada carga de página aviva una función Edge de Netlify. Toma tu país del contexto geo —esa geolocalización gratis de Netlify—. Suma un contador por país en Blobs. Si eres preciso, recurre al GPS del navegador. Devuelve stats frescos para el panel lateral. Cero cookies. Cero rastreadores. Privacidad por diseño, y escala sin que toques infraestructura.
El propio creador lo cuenta así:
Al empezar con CrisisPulse, me impuse una regla: tenía que funcionar sin base de datos backend, sin frameworks ni pipeline de compilación. El resultado es crisispulse.org: un monitor en vivo de conflictos globales más calculadora de suministros de emergencia, todo en un solo archivo HTML.
¿Esa restricción? Obligó a la genialidad. Cada línea rinde al máximo.
Pero —aquí va mi opinión picante— esto huele a la era GeoCities de los 90, cuando aficionados metían scripts Perl CGI en sitios estáticos para darles vida dinámica. Entonces nacieron herramientas virales antes de que AWS fuera un sueño. Hoy Netlify Blobs revive ese espíritu guerrero, pero con caché global en edge. Dato clave: prepárate para una ola de estos “estáticos + funciones” en proyectos indie, ahora que Vercel y Netlify han hecho del serverless una commodity. ¿VCs persiguiendo megaframeworks? Se van a perder esta corriente minimalista.
¿Parsear feeds de Bing? Bestia complicada. Su RSS codifica doble los redirects:
https://www.bing.com/news/apiclick.aspx?url=https%3A%2F%2F…&ref=…
Los ampersands destrozan el parseo de URLs. La solución: una función cutre pero efectiva —cambia & por &, decodifica entidades, extrae el parámetro real—. Simple, pero no obvio. Prueba que hasta feeds gratis exigen trucos de batalla.
El mapa estático CONFLICT_ZH hardcodea basics de 25 zonas: nombres, tipos, descripciones. ¿Titulares dinámicos? gtx los traduce en lotes al vuelo. Error inicial: cacheaba strings pretraducidos, así que cambios de idioma servían basura rancia. ¿Ahora? Recalcula fresco cada toggle. Giro inteligente.
¿Por qué Netlify Blobs aplasta a las bases de datos en proyectos indie?
Blobs maneja conteos de visitas, datos de conflictos e incluso emails de suscriptores. Simplicidad KV: get/set keys y listo. Incluido en el tier gratis de Netlify. Sin claves externas. Sin terrores de vendor lock (por ahora).
Dinámicas del mercado: KV serverless como Blobs, Cloudflare KV o Vercel KV están explotando. ¿Por qué? Desarrolladores quemados por sorpresas de escalado en Supabase o PlanetScale. En 2023, funciones edge de Netlify alcanzaron 10T invocaciones; Blobs surfó esa ola. Para escala de CrisisPulse (miles diarios), perfecto. ¿Costos? Migajas. ¿Fiabilidad? Probada en combate.
¿El pero? Ese gtx gratis de Google Translate. No documentado. Podría evaporarse mañana —el creador lo admite, lo tumbarían en prod—. Advertencia justa. ¿Cambiar por DeepL o LibreTranslate? Pan comido.
El ethos de un solo archivo brilla en el