Sumchenko Works
ENEnglish versionСменить тему
P—01 · РазработкаProduction

Mito

Задачи, таймер, календарь с семантическим зумом и AI-ментор в одном local-first приложении.

ДемоКод
Роль
Аналитика, архитектура, разработка в Claude Code
Период
2026.09 → …
Статус
Production
Стек
React · TypeScript · Zustand · Dexie / IndexedDB · Supabase · Node.js · LLM API · GitHub Actions

Задача

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

Решение

Mito собирает в одном приложении задачи, календарь (план) и таймер (факт) и показывает, насколько план совпал с реальностью. Планирование можно поручить AI-ментору — он предлагает расписание, а пользователь решает, что добавить.

Личный проект — в нём я и заказчик, и аналитик, и архитектор. Код написан в Claude Code по дорожной карте из 11 этапов с журналом архитектурных решений; каждый этап закрывался моей проверкой.

Цели

  1. 01Задачи, план и фактическое время — в одном месте
  2. 02Работа без интернета и синхронизация между устройствами
  3. 03План дня одной кнопкой — но в календарь только после подтверждения

Функции

Задачи с подзадачами и умными спискамиQuick-add: #проект, @тег, приоритет и оценка из строкиТаймер и PomodoroКалендарь с семантическим зумом: от часов до годаСравнение плана и фактаСтатистика на собственных SVG-графикахГостевой режим и синхронизация аккаунтаAI-ментор: план дня, чат, цели обученияRU / EN, светлая и тёмная темы

Ключевые требования

IDТребованиеПриоритет
FR-01Изменения сохраняются на устройстве и не теряются без интернета.Must
FR-02Правка на одном устройстве появляется на других за несколько секунд.Must
FR-03Пользователь видит и меняет только свои данные.Must
FR-04План от ментора попадает в календарь только после подтверждения.Must
FR-05Если модель не ответила, запрос уходит следующей модели.Should
NFR-01Ключи AI-моделей только на сервере, IP-адреса — только в виде хеша.Must
NFR-02Лимит ментора: 10 запросов в минуту и 60 в сутки с адреса, 800 в сутки на всех.Must
NFR-03Браузер обращается только к домену Mito.Must
NFR-04Выкладка только после проверки типов, линтера и тестов.Should

Сценарии

Пользователь с аккаунтомСинхронизация между устройствами
  1. 01Меняет задачу на телефоне — изменение сохраняется на устройстве и встаёт в очередь
  2. 02Через 0,8 с очередь уходит на сервер одним запросом
  3. 03Сервер сохраняет версию, если она новее серверной
  4. 04Ноутбук получает уведомление и забирает изменения
Гость или пользовательПлан дня от AI-ментора
  1. 01Нажимает «Составить план» и пишет пожелание
  2. 02Сервер ментора проверяет лимит и спрашивает модель
  3. 03Сервер убирает из ответа блоки с ошибками
  4. 04Пользователь выбирает блоки — они попадают в календарь

Ход работы

  1. 2026.09Этапы 0–4: основаДизайн-система, слой данных на IndexedDB, задачи, таймер, календарь.
  2. 2026.09Этапы 5–6: зум и аналитикаКалендарь с непрерывным масштабом от дня до года; план и факт; свои графики.
  3. 2026.09Этап 7: аккаунты и синхронизацияSupabase, очередь изменений, серверные ревизии, Realtime. Первая выкладка на VPS.
  4. 2026.09Этап 8: AI-менторСвой Node-сервис, цепочка моделей, план дня, чат и брифинг.
  5. 2026.10Этап 9: ментор обученияЦели с этапами, еженедельные встречи, проверка знаний, режимы «Ментор» и «Ассистент».
  6. ДалееЭтапы 10–11PWA и производительность, затем Windows и Android на Tauri.

Сложности

Модели ошибаются и выдумываютСервер проверяет ответ и убирает блоки с неверным временем и чужими задачами. Модель видит задачи под ссылками t1, t2, а дни занятий сдвигает код, а не модель.
Лимиты бесплатных LLMЦепочка Groq 120b → Groq 20b → Gemini Flash → Flash-Lite с переключением при лимите, перегрузке или ошибке. Порядок выбран по замерам.
Курсор синхронизации не должен пропускать измененияРевизии выдаёт сервер, а записи одного пользователя сериализуются advisory-блокировкой — ревизии идут в порядке коммита.

Результат

Приложение работает в продакшене — гостевой режим, аккаунты с синхронизацией, AI-ментор на реальных моделях. Готово 9 этапов из 11, около 20 тысяч строк TypeScript и 160 автотестов.

Дальше — PWA и десктопная и мобильная версии на Tauri.

Технологии

Следующий · P—02ТехРент