Все материалы

Как Telegram-бот задач вырос в личную операционную систему

Главным проектом оказался тот, которым я пользовался каждый день. Реальные задачи и странные ситуации научили его лучше любого roadmap.

Зачем мне вообще нужен Task Tracker?

«То, что нужно сделать сегодня, сделайте послезавтра — у вас будет два свободных дня»

У меня давно была проблема с нормальным ведением и контролем задач. Рилсы, TikTok (боже упаси) и дофаминовая яма часто брали верх. В конце дня было сложно понять, что я действительно сделал и что снова отложил.

Поэтому одним из первых проектов после змейки, который я решил завайбкодить, стал Task Tracker внутри Telegram-бота.

Телефон почти всегда рядом. Telegram я открываю раз 500 в день — не шутка. Не нужно запускать отдельное приложение, вспоминать пароль, смотреть на ещё один пустой дашборд или уходить в умную прокрастинацию под видом настройки новой системы продуктивности.

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

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

Что находится внутри сейчас

Вместо длинного списка функций удобнее разделить систему на четыре части.

Задачи и текущий день

У задачи может быть дедлайн, приоритет, проект и подзадачи. На день можно выбрать главное, запустить фокус-сессию и отметить результат.

Утром бот показывает брифинг и помогает выбрать режим дня. Вечером запускает check-up: что было сделано, что перенести и какое действие станет главным завтра.

Для меня ценность не в том, что задача где-то сохранена. Она должна появиться в подходящий момент и не требовать десяти переходов по меню.

Привычки и ритм

Привычки можно распределить по дням и отслеживать через streak. Фокус-сессии задают отдельный ритм работы, а scheduler отвечает за напоминания, утренние и вечерние сценарии и недельные отчёты.

Здесь быстро выяснилось, что количество напоминаний само по себе ничего не улучшает. Если их мало, система исчезает из жизни. Если слишком много — хочется кинуть собственного бота в чс.

Поэтому планировщик стал не технической надстройкой, а частью отношений между продуктом и пользователем.

Цели, проекты и brain dump

Большие результаты неудобно хранить одним списком задач. В системе появились цели, milestones, проекты и заметки.

Отдельный brain dump принимает свободный текст и просит AI разобрать его на задачи и заметки. Но ничего не сохраняет автоматически: сначала показывает результат, а я выбираю нужные пункты.

Аналитика и память

В течение дня и недели бот собирает отчёты, строит графики и показывает объекты, которые давно не двигались.

Также есть два типа памяти. Стабильные факты задаются явно. Наблюдения AI сначала получают статус pending, после чего их можно подтвердить или отклонить.

Модель может предложить гипотезу. Право назвать её фактом остаётся у человека.

Архитектура человеческим языком

Система собрана на Python и aiogram 3. Данные хранятся в SQLite через aiosqlite, события по времени запускает APScheduler, графики строит matplotlib. В production бот работает на Linux VPS под systemd — хотя зачем вам это =))

Если убрать заумные слова, Telegram принимает действие, база помнит состояние, планировщик возвращает нужное в нужный момент, а AI разбирает свободный текст там, где кнопок и обычных правил уже недостаточно.

Telegram → текущий сценарий → база → планировщик → AI → ответ пользователю.

Где здесь AI

AI участвует в проекте двумя способами.

Первый — разработка. Значительная часть кода создавалась вместе с Claude и Codex. Я описывал конкретный сценарий, ограничивал область изменений, запускал реализацию на реальных данных, находил странное поведение и возвращал его модели на исправление.

Спасибо этим красавцам. Но одного запроса «сделай Task Tracker» для текущего результата не хватило бы.

Второй способ — функции самого продукта. AI помогает:

  • извлекать структуру цели из свободного ответа;
  • разбирать brain dump;
  • формировать резюме проекта;
  • предлагать наблюдения для памяти;
  • поддерживать более свободный диалог там, где пошаговая форма только мешает.

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

Теперь можно описать цель обычным текстом. AI извлекает структуру и показывает её на подтверждение. Модель снимает с человека обязанность подстраиваться под внутреннее устройство продукта.

Чему меня научил этот бот

Task Tracker начинался как способ быстрее записывать дела. В итоге он дал мне четыре более важных урока.

  1. Состояние важнее отдельного экрана. Нужно понимать, что сохранится после рестарта, повторного действия и незавершённого сценария.
  2. Правильный запрос к базе может давать неправильный результат для человека. Zombie-задача была найдена корректно, но показывать её сегодня не стоило.
  3. AI-вывод не равен факту. Память и долгоживущие изменения требуют подтверждения.
  4. Ежедневное использование сильнее красивого roadmap. Оно быстро показывает, что действительно помогает, а что просто занимает место.

Я начал с вопроса: «может ли AI собрать мне бота?»

Теперь вопрос другой: как спроектировать систему так, чтобы база, планировщик, AI и интерфейс вместе вели себя предсказуемо, особенно когда что-нибудь пошло не по плану?

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

Есть рабочий сценарий, который стоит разобрать?

Написать в Telegram
Как Telegram-бот задач вырос в личную операционную систему | SMR / Журнал