27 августа у меня был тот самый день, когда ручная работа внезапно перестала казаться разумным вариантом.
Для «Школы за 5 минут» уже собиралось всё больше видео. И в какой-то момент стало понятно: если каждое из них отдельно загружать на YouTube, выбирать обложку, вставлять подготовленное описание, добавлять в нужный плейлист, а потом ещё решать, когда оно должно выйти, то скоро я буду заниматься не школой, а исключительно загрузкой файлов.
Сначала идея была довольно скромной: сделать загрузчик видео. Причём я сразу решила, что он не должен сам сочинять тексты. Заголовки и описания у меня уже подготовлены, программе нужно брать готовые данные и аккуратно делать техническую работу вместо меня.
Потом начала собираться сама логика. Видео лежат в понятной структуре, рядом есть готовые обложки и данные для публикации. Программа должна увидеть всё это, понять, какое видео чему соответствует, и подготовить загрузку.
Следующий вопрос возник почти сразу: как публиковать? Заливать всё одновременно точно не хотелось. Поэтому появилась схема: сначала программа загружает ролики на YouTube в статусе Private, раскладывает их по плейлистам, подставляет готовые обложки и метаданные, а потом распределяет публикации по расписанию.
И вот здесь обычный загрузчик уже начал превращаться в отдельный продукт.
К середине дня появился первый School5min Publisher. В нём уже были загрузка видео, работа с превью и плейлистами, расписание публикаций, защита от повторной загрузки и сохранение состояния. Если программа остановилась, ей не нужно было начинать всю работу сначала.
Разумеется, на этом день не закончился. Сначала понадобился отдельный startup.log, чтобы вообще видеть, где программа спотыкается. Потом выяснилось, что запуск ломается из-за кириллицы в путях, и пришлось переделывать bootstrap.
Мне особенно нравится вспоминать именно эту часть разработки. Утром задача звучала примерно так: «Я не хочу вручную загружать все эти видео на YouTube». А вечером у меня уже была отдельная программа со своей структурой данных, состояниями, расписанием и логами.
Наверное, так у меня чаще всего и появляются проекты. Сначала я замечаю место, где слишком много ручной работы. Потом думаю: «А можно сделать один инструмент?» А через несколько часов выясняется, что инструмент уже обзавёлся версиями, логикой и собственным именем.
27 августа 2026 года можно считать днём рождения School5min Publisher.