Чтобы мама не забрасывала вышивку: трекер с мягкой геймификацией
Пет-проекты

Чтобы мама не забрасывала вышивку: трекер с мягкой геймификацией

Большая вышивка долго выглядит неподвижной

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

Хотелось вышивать понемногу каждый день и видеть, как отдельные вечера складываются в законченную работу. Так появилось приложение. Сначала оно отвечало только на вопрос "сколько сделано сегодня", затем вокруг этой записи выросли месячный план, статистика и игровые механики, которые поддерживают привычку без давления.

Вечер заканчивается одной честной записью

Каждая вышивка заведена отдельным проектом с общим числом крестиков. В конце вечера мама записывает, сколько сделала за день. Из последовательности таких отметок складывается вся картина: сколько уже позади, сколько осталось и с какой скоростью движется работа.

Экран "Сегодня"
Открываешь приложение и сразу видишь дневную норму и сколько уже сделано.
Вышивка как проект
По каждой работе видно всего крестиков, сделано и остаток до конца.
Календарь без правок задним числом
Отметки вносятся день в день, а прошлые дни закрываются.
Статистика
Из накопленных вечеров виден темп: как идёт месяц, где ускорилась, где был спад.
Позавчерашнюю запись уже не переписать

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

Месячный план показывает темп, а не ставит дедлайн

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

У проектов есть понятные состояния: активная работа, завершённая и архив. Поэтому текущие схемы не смешиваются с законченными и отложенными, а список не превращается в свалку начинаний.

Игра должна поддерживать, а не ловить на азарт

Игровой слой был для меня самым непривычным: я в основном делаю сайты, а здесь впервые проектировал механику привычки. С самого начала действовало одно ограничение - приложение должно оставаться тёплым трекером. В нём нет очков, внутренней валюты, лидербордов и соревнования с другими. Ничего, что заставляло бы заходить ради очередного "вращения барабана". Награда должна порадовать, а пропуск - не превратиться в наказание.

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

Медали за месяц с понятной планкой. В конце месяца итог по каждой вышивке отмечается медалью, и планка прозрачная - это доля выполненного плана:

🌱 Росток
Любой прогресс - даже если план выполнен меньше чем наполовину. Начала - уже молодец.
🥉 Бронза
План выполнен наполовину и больше.
🥇 Золото
План месяца закрыт полностью.
💎 Алмаз
План перевыполнен в полтора раза.

Нижняя медаль - "росток", а не пустое место: даже маленький вклад признаётся, и ситуации "ты не справилась" просто не существует.

Сад копит череды, а ачивки просто веселят

Растущий сад. Постоянство превращается в живой сад: чем длиннее череда, тем выше уровень растения - двенадцать ступеней от ростка и травинки до розы, подсолнуха и сосны, а полные тридцать дней подряд дают самое большое растение. Когда череда прерывается, растение попадает в коллекцию, и сад копит их как память о пройденном пути. У каждого растения свой "журнал": когда была эта череда, каким был лучший день и над какой вышивкой мама тогда работала.

Достижения, многие с юмором. Кроме серьёзных вех - крестики, серии, планы - есть большая коллекция необязательных ачивок, часть из них спрятана в секретные категории "Магические числа", "Даты и время" и "Узоры и ритмы". Часть про числовые совпадения: набрать за день ровно 777 ("Джекпот"), 666 ("Дьявол"), 314 ("Число Пи"), собрать палиндром или ровно 12 345 крестиков всего. Часть привязана к календарю: отметиться в День вышиванки, вышить в новогоднюю ночь, поймать пятницу 13-е или 29 февраля. На результат это не влияет - вышиваешь ты для себя, а ачивки просто повод улыбнуться и собрать ещё одну.

Льняной холст вместо приборной панели

Интерфейс я собирал не как приборную панель, а как уютную вещь под тему рукоделия. Фон стилизован под льняной холст, награды лежат на "полке с медалями", а сад - это не список, а живые растения, которые можно потрогать взглядом.

Экран "Сегодня" с теплом
Приветствие по времени суток и задание дня - от "вышейте 50 крестиков в самом заброшенном проекте" до "погладьте кота, нет кота - погладьте себя по голове". Открыть приложение приятно само по себе.
Тёплый контент с юмором
Каждый день встречают разные рубрики: гороскоп вышивальщицы ("Овен сегодня начнёт новый проект. Нет, не закончив старый"), пророчество, вредный совет ("Сон переоценён. Вышивка - нет"), отмазка, диагноз, факт дня и фейковая цитата великих ("Один маленький крестик для человека - большой шаг для вышивки" - Нил Армстронг). Уют вместо сухого трекера.
Свой профиль и тема
Аватар с загруженным фото и девять палитр нижней панели с поэтичными именами - "Льняная сорочка", "Лепестки пиона", "Шалфей в чае", "Бокал каберне", "Полночь в Венеции", светлые и тёмные. Приложение ощущается домашним, а не казённым.

При всём количестве механик ежедневное действие остаётся одним: открыть приложение с иконки на телефоне, отметить крестики и сразу увидеть прогресс, череду и награду. Вечернее напоминание аккуратно подсказывает, что череда под угрозой, но не превращается в поток уведомлений.

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

Самая капризная логика срабатывает на границе суток

Технически приложение невелико, но игровые механики живут во времени и постоянно пересчитываются. Череда рвётся и восстанавливается на границе суток, заморозка отсчитывает своё окно, медаль подводит итог в конце месяца, а достижение ловит, что за один вечер набралось ровно определённое число.

Такую логику мало один раз написать. Есть множество состояний, которые нужно правильно засчитать, при изменении условий корректно снять обратно и отдельно проверить. Обычная форма сохраняет введённое значение; здесь одно наступившее число или новая дата могут изменить сразу череду, растение, медаль и несколько достижений.

Но труднее всего мне далось не это, а удержать баланс: система должна честно показывать результат и при этом ни разу не звучать как надзиратель или казино. Этим вопросом я проверял каждую механику, от заморозки до нижней медали. Не раз ловил себя на том, что проще сделать строгий трекер, который давит цифрами, - но именно этого я и не хотел. Кажется, на этой грани между честностью и добротой весь проект и держится.

Маленький проект с хорошо знакомыми инженерными задачами

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

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

Это не про продуктивность. Это про то, чтобы каждый вечер за пяльцами оставлял видимый след - и завтра хотелось сесть снова.

Александр

Александр

Fullstack-разработчик с 8+ годами опыта - от промышленной автоматизации и работы с оборудованием до электронного документооборота и чат-ботов. Сейчас фокус на прикладном ИИ - от RAG-платформ для диалоговых ботов до компьютерного зрения.

Наш собственный проект

Это наш проект, поэтому показываем его внутреннее устройство без оговорок - вплоть до архитектуры и кода.