01
Cloudflare como hosting en vez de Vercel/AWS
Cloudflare normalmente es accesible desde IPs cubanas, y los usuarios están en Cuba. Los tiles y datos se sirven desde el mismo origen para no depender de terceros bloqueados.
Proyecto personal
Mapa de apagones de La Habana casi en tiempo real, hecho desde un canal de Telegram
gha corre las pruebas, el ingestor trae las publicaciones nuevas, las reglas y los jobs LLM las convierten en eventos y enriquecimiento, y los builders publican datos estáticos frescos en Pages.
Haz clic en un paso para saltar a él. Haz clic en un componente para ver detalles.
Un mapa público y un bot de Telegram que indican a los habaneros qué bloques y circuitos tienen corriente. Ingiere el canal de Telegram de la empresa eléctrica y su grupo de comentarios, extrae eventos de apagón con reglas más enriquecimiento con LLM, y publica un sitio estático accesible desde Cuba con analítica, páginas por circuito y un asistente conversacional.
La información de apagones en La Habana está dispersa en publicaciones y comentarios de texto libre en un canal de Telegram. Los vecinos no tienen una vista estructurada y consultable del estado actual, las horas sin corriente por circuito ni el histórico.
01
Cloudflare normalmente es accesible desde IPs cubanas, y los usuarios están en Cuba. Los tiles y datos se sirven desde el mismo origen para no depender de terceros bloqueados.
02
Telethon trae los mensajes desde el último id guardado en cada corrida, evitando un servidor pago siempre encendido. Hace falta una cuenta de usuario MTProto porque un bot no puede leer el canal.
03
El scheduler de GitHub llegaba tarde de media y los disparos solapados se cancelaban entre sí. Un componente fuera de GitHub dispara workflow_dispatch y vigila la frescura, así un atasco de GitHub no puede ocultarse.
04
Los partes oficiales son muy regulares, así que las reglas regex resuelven la mayoría de forma barata y predecible. Los pasos LLM no bloquean y el estado envejece a desconocido sin noticias, evitando respuestas erróneas con falsa confianza.
05
El índice vectorial era demasiado grande para servirlo como archivo estático. Mantenerlo en la base evita que los vectores salgan del servidor; el worker envía la consulta y recibe solo los k fragmentos más relevantes, con embeddings Matryoshka de 1024 dimensiones para respetar los límites de ivfflat.