С чего всё началось

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

В итоге каждую субботу — звонок из магазина: «а молоко покупать, или ты вчера привёз?», «нам всё ещё нужны батарейки?», «куда я записал список, ты не помнишь?». Через раз что-то забывали, через раз покупали лишнее.

Это не проблема, которая решается «корпоративным таск-трекером». В семье не нужны спринты, статусы, дедлайны, теги, доски, аналитика. Нужен один общий список, в который любой из участников может добавить строку с телефона за десять секунд, а остальные увидят сразу.

Полтора года назад в keepware начали собирать такую штуку — как учебный проект на Spring Boot + Compose. Сейчас этим пользуется наша семья и кое-кто ещё. Называется «Наш список» — приложение для семейного и группового использования, живёт на todo.keepware.ru и в RuStore. В этой статье — про принцип, фичи и почему в проекте не пошли в сторону «универсального таск-менеджера для всего».

Что это и кому

«Наш список» — совместное приложение для коротких списков, для семьи и небольшой группы. Списки задач, списки покупок, списки идей, списки дел по дому. Это не корпоративный таск-трекер для команд от 10 человек с проектами, этапами, дедлайнами, KPI и согласованиями — для них есть отдельный класс продуктов. Тут — для семьи, маленькой команды до 5-7 человек, личных дел.

Принцип, на который опирались в проекте: один список = одна цель, у списка от 5 до 30 строк, доступ открывается ссылкой. Если у вас в одном списке регулярно более 50 строк или вам нужен сложный фильтр — это уже не сценарий «Наш список», это другой класс продуктов, и они уже есть.

Скриншот главного экрана со списками

Как мы им пользуемся

В семье сейчас активно работают четыре списка.

«Покупки» — общий, открыт всем. Любой добавляет строку, любой может вычеркнуть. К субботе он живой и точный: то, что в нём остаётся — то и едем покупать. То, что вычеркнуто — куплено или передумали. Тот, кто едет в магазин, открывает приложение, чек-боксит купленное — у остальных в реальном времени видно «йогурт куплен, хлеб куплен». Звонки из магазина «а это ещё нужно?» — кончились примерно за месяц.

Скриншот списка «Покупки» с заполненными строками

«Дела по дому» — тоже общий. Сантехник, лампочка, замок на двери ванной, заправить машину. Принцип тот же — кто заметил поломку или вспомнил задачу, тот и добавил. Не личное ТЗ «жена → муж», а общий пул, который оба разбираем по возможности.

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

«Личные» — отдельный список, нешеренный. У каждого может быть свой нешеренный список — книжки прочитать, идеи для блога, какие-то напоминания. Доступ только у владельца.

Принцип «общий список по ссылке» и гостевой режим

Самая ценная фича на практике — общий доступ через ссылку, без обязательной регистрации участника. Один из нас открывает список «Покупки», нажимает на иконку шеринга, копирует ссылку в семейный чат в мессенджере. Остальные открывают её на своих телефонах. У них в Android-приложении тут же появляется этот список. С веб-версии можно открыть с любого устройства, даже без установки приложения.

В Android-приложении есть гостевой режим — открываешь, и сразу можешь работать со списком, без регистрации и пароля. Регистрация нужна только если хочешь, чтобы данные синхронизировались между твоими собственными устройствами (телефон + планшет + браузер) или были привязаны к восстанавливаемой учётке при смене устройства. Для большинства семейных сценариев это даже не нужно — список приходит по ссылке, и работаешь.

Скриншот шеринга списка

Что ещё есть в приложении

Реальное время. Если кто-то из семьи в магазине вычёркивает «молоко» — у остальных дома на экране это видно. Не через минуту, не через пять — сразу.

Офлайн в Android. Это спасает, когда сеть пропала (в магазине в подвале, на даче, в самолёте). Изменения копятся локально, когда сеть появляется — догоняют сервер. Никакой ручной кнопки «синхронизировать» нажимать не надо.

Тёмная тема и 9 акцентных цветов. Мелочь, но удобно.

Per-app language preferences (Android 13+). Если у вас в системе английский, а вы хотите конкретно «Наш список» на русском (или наоборот) — выставляется отдельно.

Скриншот темной темы

Технически — без хайпа

Стек подробно разбирается в отдельной статье в блоге про шифрование. Коротко:

  • На сервере — задачи, имена и email хранятся в БД зашифрованными алгоритмом AES-256-GCM. Если из базы утечёт дамп — без ключа он бесполезен.
  • На устройстве (Android) — локальная база зашифрована SQLCipher 4.5.4, ключ хранится в Android Keystore. На современных телефонах это аппаратный защищённый процессор. Если телефон украдут и вытащат внутреннюю память — данные приложения не читаются.

Это не end-to-end — ключ сервера у команды разработки. В описании не используется термин «zero-knowledge». Это обычная инженерная гигиена, рассчитанная на защиту от утечек дампа и кражи устройств, а не на защиту от инсайдера.

Серверы в России. Личных данных за границу не уходит, сторонние трекинговые SDK рекламных сетей в приложение не вставлены.

Чего нет — и, скорее всего, не будет

Это важная часть честного описания. Что «Наш список» не делает и не претендует:

  • Управление проектами с этапами и зависимостями. Никаких Gantt-диаграмм, milestone’ов, dependencies между задачами. Для этого есть другие продукты.
  • Большие команды. Списки рассчитаны до 5-7 участников. Если у вас 30 человек в отделе — это другой класс задач.
  • AI-автогенерация задач. В приложении не разбирается календарь, не предлагается «вам надо сделать X». Список — это вы и ваша семья, не AI-ассистент.
  • Интеграции с корпоративными системами (issue-трекеры, базы знаний, мессенджеры команд). Семья и микро-команда — потолок.

Это сознательное ограничение. Можно было бы добавить всё это — и получился бы средний таск-трекер без конкурентного преимущества. А так — узкая ниша и в ней простой, быстрый, понятный инструмент.

Скриншот веб-версии

Тарифы

Сейчас приложение работает в текущем виде без подписки — есть гостевой режим, регистрация, общие списки. Pro-подписка планируется со временем, она добавит несколько фич удобства (расширенные роли, импорт-экспорт, какие-то ещё штуки, которые аккуратно подберём). Основной семейный сценарий — общий список покупок и дел — останется доступным.

Где скачать

  • Android (RuStore): ru.mngerasimenko.todolist — гостевой режим без регистрации, офлайн-работа.
  • Веб: todo.keepware.ru — открывается в любом браузере, синхронизируется с Android-приложением.

Поддержка и обратная связь — todo-support@keepware.ru. Отвечаем в течение суток в рабочие дни. Идеи фич, баг-репорты, неудобные сценарии — пишите, всё читаем.


«Наш список» — один из трёх продуктов инди-студии keepware, наряду с агрегатором VPS-тарифов vpscan и AI-помощником для ответов на отзывы ReplyAI. Каждый делает одну вещь для своей аудитории — без попыток построить «суперприложение».