Skip to content
Proyecto propio · Clima y mapas

Encumbra

En Santiago la pregunta antes de salir a encumbrar es si anda o no anda, y un pronóstico en km/h no la responde. Encumbra cruza viento, rachas y luz con el tipo de volantín y dice en qué parque vuela y a qué hora.

Pronóstico Open-MeteoCloudflare WorkersCron y KVMapLibrePWA sin conexiónUmbrales calibrados con histórico
El proyecto

Encumbra traduce el pronóstico de viento de Santiago en una decisión. Mira 24 puntos en parques de la ciudad, contrasta los modelos ICON y ECMWF, suma observaciones de estaciones de la Dirección Meteorológica de Chile cuando están disponibles y responde según el volantín que llevas, uno liviano, uno tradicional con cola o uno acrobático. Cada parque muestra si tiene permiso para encumbrar y de dónde sale ese dato. Se instala como app en el teléfono y sigue funcionando en el parque sin señal.

Por qué existe

Una velocidad de viento sola no dice si un volantín vuela. Importan las rachas, el peso del volantín, si queda luz y si el parque deja encumbrar. Las apps de clima entregan los números y dejan la traducción a cada uno.

Cómo lo construí

Primero había que fijar qué significa que ande. Calibré los cortes con cinco años de viento de Santiago y los dejé en una sola fuente, para que la app, la portada y las guías nunca se contradigan. Después vino el permiso. Que un parque sea grande no significa que se pueda encumbrar ahí, así que el catálogo propone solo los lugares con autorización verificada, distingue la lista de Parquemet de lo que confirmó una administración directamente y marca el resto como no confirmado en vez de esconderlo. El GPS se pide solo cuando alguien toca el botón, se recorta a tres decimales antes de salir del teléfono y no se guarda.

Stack y decisiones técnicas

Next.js 16 con Server Components, desplegado en Cloudflare Workers con OpenNext. Un cron cada diez minutos consulta Open-Meteo y deja una instantánea en KV, así la app solo lee y un fallo del proveedor no borra el último dato bueno. Los parques se agrupan por celda de la grilla del modelo, porque dos parques en la misma celda reciben el mismo pronóstico y pedirlos por separado solo gasta cuota. MapLibre con OpenFreeMap, cargado únicamente al abrir el mapa. Service worker escrito a mano para el modo sin conexión, CSP con nonce y límite de peticiones en el endpoint de ubicación.

Reflexión

El pronóstico se equivoca, y la app lo asume. Muestra a qué distancia queda el punto del modelo, contrasta dos modelos en vez de promediarlos y pide mirar el árbol antes de armar. Prefiero que alguien llegue al parque sabiendo cuánto confiar en el dato.