Саркастичный Джек — бесплатный чат-бот. Я разработала его для себя и для других таких же трудяг, которые забывают поесть и попить, доводят плечи до окаменения, руки до туннельного синдрома, а вместо нормального окончания рабочего дня включают режим "ну сейчас еще одну задачку доделаю" и фигачат еще часа два.
Откуда у Джека ноги растут
Да, именно оттуда =)
Дело вот в чем. Я в недавнем прошлом — трудоголик. Я забывала поесть. Когда живот начинал болеть, просто съедала что-нибудь и продолжала разгребать дела. Температура 38,2 — не повод лечь и отдохнуть, если задачи горят. Первые 6 лет после универа я вообще не брала отпуск ни разу. А дальше, если и уходила в отпуск, то только вместе с рабочим ноутбуком.
Как итог — проблемы с ЖКТ и со зрением, онемение и простреливающая боль в руках, дискомфорт в плечах и дофига других неприятных последствий. Зато я отлично вписывалась в культ продуктивности.
О, конечно, я знала, что заботиться о себе надо. Мы вообще знаем много полезного о выгорании, последствиях сидячего образа жизни и стресса на работе. Но знать и делать — совершенно разные вещи, и далеко не всегда они пересекаются.
В моем мировоззрении что-то сломалось в тот момент, когда я проигнорила проблемы со здоровьем и попала в больницу, где мне сделали срочную операцию. Я лежала тогда с трубками в животе, не могла даже подняться, а в рабочий чат горами валились сообщения типа: "Анна, ваш больничный очень невовремя, вы же знаете, что у нас много планов", "Понимаю, что вы после операции, но разве вы не можете сделать задачу с телефона?", "Вам же не надо никуда ехать, можете доделать к вечеру?"
И это при том, что я распределила задачи, назначила человека, который меня заместит, и дала всем, кому надо, его контакт. Да, я это сделала, пока ехала в скорой, загибаясь от боли. Продуктивность, блин.
И вот тогда я поняла, что если ты — машина по выполнению задач, то относиться к тебе будут соответствующе. Роботам не сочувствуют. И как только вышла с больничного, сообщила, что передаю все дела и выхожу из проекта.
После был свой бизнес, много фриланса и новые правила: полноценный отпуск, никакой работы в выходные, никаких "ладно, давай я сделаю твою задачу за тебя, раз не справляешься". Но старые привычки никуда не делись:
- Руки болят, надо бы размяться, но некогда.
- Я опять не потренировалась, но так неохота сейчас искать упражнения. Завтра сделаю.
- Вроде пора поесть? Или нет? Живот пока не болит, можно и попозже.
Никакие стандартные пуши типа "попейте воды", техники тайм-менеджмента и тем более Помодоро, который выдергивает тебя из процессов, словно звонок в школе, не помогали. Только бесили. Приложения, которое бы мне подходило, я так и не нашла, и написала его сама. Сделала бота, который напоминает, что пора позаботиться о себе, и делает это в саркастичном, а не в типично ванильном "ути-пути, а кому это тут пора попить водички" стиле. Бот изредка даже матерится, но только по делу:

Как работает Джек
Кстати, в версии 0.0.1 бот назывался Душный Геннадий.
Ну, во-первых, он дает советы в духе псевдо-гуру об управлении временем, оптимизации рабочего процесса, продуктивности без стресса и на всякие другие умные темы =) Цель — развлечь пользователя и сделать его день чуточку лучше:

Во-вторых, принимает донаты. Если хотите меня поддержать и помочь с оплатой сервера, где всё это дело крутится, вот ссылка. Буду очень благодарна =)

И главная функция: он следит за тем, чтобы пользователь не упахивался и делал перерывы в работе. Притом полезные перерывы.
И вот как он это делает.
В начале рабочего дня ты нажимаешь на кнопку "Начал работать". Бот уточнит, сколько часов ты планируешь отпахать сегодня:

После этого каждый час он будет напоминать об отдыхе или разминке и предлагать конкретные варианты:

Всё, что он будет предлагать, можно выполнить на работе, даже если ты трудишься в офисе. В некоторых случаях даже не придется вставать из-за рабочего стола (хотя надо бы, конечно). Упражнения для шеи, плеч, рук, для здоровья глаз, дыхательные упражнения, водный баланс. Ничего сложного и слишком долгого. И почти всё с конкретикой, чтобы тебе не пришлось ломать голову, как размяться, когда мысли забиты рабочими проблемами и "повышением продуктивности".
Это не метод помидора, орущего будильника не будет. Можно увидеть уведомление, а прерваться минут через 5-10, чтобы не ломать ритм.
Советы Джека можно принимать или отвергать. И то, и другое он запишет в БД. И позже, когда я прикручу статистику, можно будет посмотреть, каков твой прогресс в заботе о себе =) Кроме того, за сделанное он будет хвалить, а за "отвали" пожурит:

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

Когда этот час истечет, отправит отдыхать:

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

Как я выбирала упражнения? Опиралась на то, что помогает мне самой:
- Упражнения для профилактики туннельного синдрома. Делаем с мужем регулярно.
- Упражнения из курсов Ревитоники для коррекции "текстовой шеи" и другие их комплексы.
- Книга "Осознанность. Как обрести гармонию в нашем безумном мире". При всей моей нелюбви к медитациям и дыхательным упражнениям конкретно это произведение зашло на ура.
- Книга "Приросший к стулу, ВСТАНЬ: современная энциклопедия упражнений для спины и суставов". Очень рекомендую ее прочитать, если у вас сидячая работа!
- Упражнения от двух классных экспертов, с которыми я тренируюсь уже пару лет.
Еще мне рекомендовали книгу Александра Шишонина по лечебной физкультуре, но до нее я еще не добралась. Впрочем, это никогда не поздно сделать: я буду пополнять копилку сообщений Джека регулярно.
Весь контент в боте от первого до последнего слова написан вручную. 0% ИИ. Если Джек присылает вам сообщение, значит, его написала лично я. Даже если оно дурацкое =)
Как Джек справляется с обязанностями
Я пользуюсь ботом пока пару недель, но в целом он меня радует. Также собираю обратную связь от первых пользователей.
Самое приятное — исчезает противное ощущение "опять ты на себя забиваешь", ведь я выполняю рекомендации бота и понемногу разминаюсь в течение дня.
Отсюда второй плюс: тренироваться после работы стало намного легче. Кто сталкивался, тот знает: пока ты занимаешься каждый день, все идет гладко, но стоит пропустить пару дней, и въехать обратно в режим тренировок становится гораздо сложнее. Джек помогает мне из этого режима не выпадать.
+Дофамин =) Есть ощущение "кто-то заботится обо мне" и "я молодец, не забиваю на себя", даже если упражнения совсем маленькие.
Немного технических деталей: как все реализовано
Бот написан на python, aiogram.
Для планировщика использую асинхронный sheduler. Задачи из планировщика и состояния пользователей хранит Redis. Информация о пользователях и событиях лежит в БД (SQLite).
Сообщения собраны в json-файл и разбиты по категориям. Каждый раз, когда бот должен что-то сказать, он выбирает рандомное сообщение из нужной категории.
Для деплоя всей этой красоты я использовала Docker. Логи, инфа из БД сохраняются из контейнера на хост. Сообщения бота прокидываются из хоста в контейнер, так что я могу быстро обновить стопку сообщений, не перезапуская бота.
На чем я споткнулась
Пока что на двух вещах.
Во-первых, когда произошел первый же наплыв пользователей, сервер психанул, заглючил и упал. Пришлось менять тариф 😅

Во-вторых, среди пользователей оказались люди, которые сидят на жестких диетах. Что неудивительно. Раньше в боте были напоминания о полезном перекусе на работе, и для этих людей они оказались болезненными. На всякий случай я пока убрала такие напоминания.
Будущее Джека
Пока Джек совсем молод и рискует не понравиться пользователям. Хотя в любом случае им продолжу пользоваться я сама.
Если всё пойдет хорошо, я подумаю о добавлении функций, про которые первые пользователи сказали "вот это было бы хорошо":
- статистику;
- бан конкретных тем: для тех, кто боится напоминаний про еду/воду/упражнения для здоровья глаз и пр.
- кнопку паузы: для тех, кто прерывается в течение дня и хочет считать только чистое время работы.
А пока я просто буду добавлять новые сообщения, чтобы риск нарваться на одинаковые был бы ниже =)

Прикольная штука! Я стартанула 10 февраля его, пока все нравится (особенно юмор)) Правда помогает оторваться от работы хотя бы на 5 минут и подвигаться
Как писали выше - не хватает кнопки пауза, потому что иногда есть возможность днем выскочить по делам и доработать вечером. И мне бы пригодились напоминания про обед и перекусы, а то я иногда забываю поесть, пока работаю
Прикольно, попробуем
Классная идея и текста (я пока только один посмотрел про кирпич) о_0
буду пробовать и ждать кнопку паузы
я пробовал делать что-то подобное. но у меня намного проще и скрипт просто раз в полчаса отправляет уведомление на ноут
недавно начал пробовать выключать уведомления телеги и было бы здорово, если бы бота можно было запустить локально, чтобы он тоже просто в системные уведомления свои сообщения слал
Идея шикарная, тексты милые, статья жирный Like!
Запустил. Первый вопрос: с чего бы 12 часов - это максимум? Я и по 18 работаю. Получается, остальные шесть робот меня поддерживать не будет?
Потом, как быть с ботом если работа неравномерно распределена, например прекращаешь работать на пару часов а потом опять начинаешь?
Спасибо.
P.S. вообще-то я для этих целей уже много лет использую Alexa, которая мне каждый час напоминает размяться. Но твой бот звучит намного круче! :)
Идея классная) я как раз сейчас обнаружила, что я 4 часа уже не встаю из-за компа
Подписалась на тебя, вторая тема и в самое сердце. Спасибо за твою активность. Надо бы попробовать. А ещё я не трудоголик, но среда активно к этому стимулирует, поэтому в отпуске я была, а остальное пока присутствует. Надо бы бороться.
Саркастичный, а сколько ещё так сидеть? 🥺