Надоело открывать разные вкладки с погодой: как я запустил агрегатор погоды

Я работаю курьером и за неделю по вечерам сделал агрегатор погоды. Вот зачем.

Предыстория

Недавно начал работать курьером. Доставляю еду на велосипеде. Дождь - это не просто "неприятно", это минус деньги: мокрая сумка, скользкая дорога, заказы которые не берёшь потому что не хочется ехать под ливнем.

Каждый раз перед выходом я открывал разные вкладки с погодой известных всем сервисов. Один говорил "ясно", второй "переменная облачность", третий "дождь после 14:00". Кому верить - непонятно. В итоге, либо сидишь дома и смотришь на ясную погоду в окно, либо мокнешь под грозой. (Конечно утрирую, но не сильно)

Когда в очередной раз зашел мокрый домой, начал делать агрегатор, который будет собирать все возможные источники в одном месте и выдавать итог.

Как делал?

Я не профессиональный программист, но кое-какой опыт есть. занимался по вечерам после смен, примерно неделю. Использовал ИИ-инструменты для помощи с кодом.

Задача была использовать бесплатные источники.

Стек: FastAPI на бэке, React на фронте.

Данные беру из открытых источников — Open-Meteo (Best Match, ECMWF IFS, GFS (NOAA), DWD ICON, GEM, DMI), 7Timer и MET Norway.

Сначала делал для себя, поднимал локально на ПК. Потом появилась необходимость смотреть погоду на работе. Арендовал VPS. Потом подумал, что может пригодится и другим людям. Купил домен.

Что получилось?

При заходе на сайт определяется город. Не всегда корректно, лучше вписывать вручную.
Первый верхний блок показывает Итоговый прогноз исходя из всех доступных моделей прогнозирования.

Надоело открывать разные вкладки с погодой: как я запустил агрегатор погоды

Ниже - почасовой так же агрегированный прогноз.
Далее выводится средняя погода в этот день за последние 16 лет. Практического смысла мало, но интересно.
"В этот день (6 июля): обычно 19.5°C, осадки 3.7 мм (среднее за 16 лет)"

Далее раздел сравнения моделей в графическом виде:

Надоело открывать разные вкладки с погодой: как я запустил агрегатор погоды

Еще ниже можно прокликать каждую модель по отдельности и посмотреть, что они прогнозируют, если надо.

Уведомления о дожде

Пуш-уведомления о дожде. Прямо в браузер, без приложения. Нажал одну кнопку - и за 1 час до дождя придёт уведомление. Именно это мне и было нужно с самого начала.
Уведомления о дожде так же берутся исходя из всех источников.
Иногда всё еще допиливаю эту функцию. Пока может работать нестабильно.

Недельный прогноз

Всё практически то же самое функционально, но на 7 дней. Много тут писать не буду.

Специализированные страницы

Когда функционал был готов и решил все-таки делиться сайтом с миром, сделал специализированные страницы. Которые могут помочь для рыбалки, дачи, стройки и туризма.

Помогают определить лучший для клева рыбы, посадки растений, строительства и туристических походов.

Скриншот примера одной из страниц:

Надоело открывать разные вкладки с погодой: как я запустил агрегатор погоды

Что понял в процессе

Погодные модели реально расходятся. Иногда сильно. Особенно на конвективные осадки летом - те самые грозы которые появляются за 20 минут. Ни одна модель их не предсказывает надёжно, это физическое ограничение.

Мой сервис получился не идеальный, но мои потребности закрывает.
Ну и пока что на большое количество пользователей на расчитан, Open-Meteo дает 10000 запросов в сутки бесплатно, а один пользователь генерирует несколько запросов, особенно сжирают запросы оповещения.

Зачем пишу

Просто сделал инструмент который сам использую каждый день перед выходом на смену и во время работы. Если кому-то ещё пригодится - отлично. В подвале сайта есть кнопка Связаться, если будут идеи и замечания, можете писать.

Если вы рыбак, дачник, строитель или просто часто выходите на улицу - попробуйте: meteox.ru

Буду рад обратной связи в комментариях.

1