/** * @description * A Telegram bot and web dashboard that tracks Lviv's hourly power outage schedules and notifies subscribers of real-time changes. * * @year 2025 * @tech Node.js | Telegram Bot | Express | node-cron | lowdb */
Built during Ukraine's ongoing energy crisis to help Lviv residents stay ahead of rolling blackouts. The system polls the official LOE API every 10 minutes, runs a deep change-detection pass across all 12 electrical groups, and fires targeted Telegram notifications only when a schedule actually changes — including what was removed, what was added, and what shifted. Users subscribe per group via an inline keyboard; the web visualization renders a 24-hour timeline with the current-time indicator, drag-to-pan, and today/tomorrow tabs. Backed by a lightweight lowdb JSON store and a cron scheduler, the entire stack runs as a single Node.js process with zero external infrastructure.

