Личный телеграм-помощник. Не трекер для галочек и не строгий надзиратель — напоминает, принимает отчёт обычным языком, честно считает баллы и не требует идеального дня.
Проблема была не в силе воли вообще, а в том, чтобы просто стартовать: выйти на прогулку, дойти до бассейна, сесть за домашние дела. Одно и то же напоминание в календаре игнорируется за неделю.
Поэтому вместо чек-листа — игра. Каждый день даёт столько баллов, сколько получилось набрать: частичный результат лучше нулевого, и один слабый день не обнуляет неделю.
В основе — принцип PINCH, пять способов помочь себе включиться в действие:
Шаги, рабочие и домашние задачи, ведение дневника, что осталось из недельных целей вроде бассейна. Подтвердить — любым ответом, хоть «+». Без ответа — ещё пара мягких напоминаний, максимум три сообщения.
Один опрос, без повторов. Отвечаю обычным текстом в свободном порядке — бот сам разбирает сообщение и уточняет только то, чего действительно не хватает.
Всё, что написано до утра, ещё считается отчётом за прошедший день. Не указано — не значит забыто: можно дописать и исправить позже.
Отчёт за прошедшую неделю — баллы по дням и активностям, средние шаги, бассейн — и следом обычный план уже нового семидневного раунда с новой игровой обёрткой.
Всё, что можно измерить — измеряется по диапазонам. Никаких «на глаз»: формулы фиксированы и не зависят от формулировки отчёта.
Заплывы и дни аудиокниг сверх плана не увеличивают максимум, но дают бонусные баллы — это осознанно разрешённое «читерство»: сильный день может подстраховать слабый.
Разбор свободного текста в структурированные данные делает LLM. Всё остальное — баллы, состояние, история — считает обычный код. Модель не хранит данные, не начисляет очки и не может отрицать то, что уже сохранено: в обычном разговоре ей передаётся точный контекст из базы, и она обязана с ним сверяться.
Обработка Telegram-обновлений идемпотентна, отчёты применяются частичным апдейтом без стирания уже известного, а запись в закрытую неделю просто отклоняется.