Пет-проект, который никто не увидит
У меня есть проект. Он лежит в приватном репозитории, у него 214 коммитов и ноль пользователей. И, скорее всего, пользователей не будет никогда.
Это трекер цен на билеты до Калининграда.
Да, я в курсе, что такие сервисы уже есть. Штук десять, и все лучше моего. Один из них я даже использую по назначению, потому что мой падает раз в неделю, когда меняется вёрстка на сайте, откуда я тяну данные.
Но я всё равно его пишу.
Как это началось
Осенью я в очередной раз открыл поиск билетов, посмотрел на цены, закрыл. Через неделю открыл снова. Цена другая. Ещё через неделю снова другая, и я поймал себя на мысли, что не понимаю логику. Дорого в пятницу или в среду? За месяц или за три? Утренние дешевле?
Нормальный человек погуглил бы статью и успокоился. Я решил, что мне нужны свои данные.
Первая версия была скриптом на сорок строк, который раз в сутки лез за ценой и дописывал строчку в csv. Работал он на старом ноутбуке, который стоял на холодильнике, потому что больше некуда. Через две недели ноутбук ушёл в спящий режим, я этого не заметил, и в данных образовалась дыра. Так я узнал, зачем нужен мониторинг.
Что было дальше
Дальше было всё то, что обычно бывает.
Я переписал скрипт, потому что сорок строк превратились в четыреста и стало невозможно читать. Потом переехал на нормальную базу, потому что csv на десять тысяч строк открывался пять секунд и меня это бесило. Потом добавил телеграм-бота, который присылает сообщение, если цена упала ниже определённого порога.
Потом полтора месяца ничего не делал, потому что у младшей были зубы, и я спал урывками.
Потом вернулся и три вечера искал баг, из-за которого бот присылал уведомление в четыре утра. Оказалось, я перепутал часовые пояса. Классика, конечно, но своя классика запоминается лучше чужой.
Зачем, если есть готовое
Меня об этом спросили на работе, и я не сразу нашёл, что ответить.
Потом сформулировал так. На работе я почти никогда не делаю вещь целиком. Я делаю кусок, который потом станет частью другого куска, который увидит клиент, которого я не знаю. Это нормально, так устроена разработка. Но в какой-то момент начинаешь забывать, каково это, когда ты сам придумал, сам сделал и сам пользуешься.
А тут я придумал, сделал и пользуюсь. Пусть криво. Пусть падает. Зато оно моё от первой строчки до последней, и когда бот в семь утра прислал “Москва, Калининград, 4 100”, я почувствовал что-то такое, чего давно не чувствовал от работы.
Что я на самом деле выучил
Если честно, куда больше, чем на паре курсов, которые я купил и не досмотрел.
Как работает планировщик задач. Что бывает, когда сайт отдаёт 429. Зачем нужны миграции. Как не хранить токен бота в коде, который ты потом случайно запушишь (да, я его потом отзывал). Как выглядит твой собственный код через два месяца перерыва и почему комментарии пишут не для других, а для себя будущего.
Ничего из этого я бы не выучил, читая про это.
Итог
Проект по-прежнему никому не нужен. По-прежнему падает. У него до сих пор нет ни тестов, ни нормального README, потому что README я пишу для людей, а людей тут нет.
Но график цен за последние семь месяцев у меня есть. И по нему видно, что ноябрь дешевле июля почти в два раза.
Ноябрьская Балтика, говорят, суровая. Ну и хорошо.
Записано 2 апреля 2026