Skip to content

Latest commit

 

History

History
105 lines (66 loc) · 6.8 KB

File metadata and controls

105 lines (66 loc) · 6.8 KB

Drift — трекер привычек без тревожности

Дата: 2026-03-29 Автор: Саня (продакт OpenClaw) Статус: Draft Основа: research.md


Название

Drift — как течение. Привычка — это не спринт без права на остановку, а направление, в котором ты дрейфуешь. Пропустил день — течение замедлилось, но не исчезло.


Для кого?

Лена, 28 лет, тревожная отличница.

Пробовала Streaks, Habitica, Productive. Начинала с энтузиазмом, набивала 20-40 дней стрика, потом пропускала один день (болезнь, завал на работе, просто устала) — и стрик обнулялся в ноль. Чувствовала вину, злость на себя, бросала привычку совсем. Через месяц начинала заново. Цикл повторялся 3-4 раза, после чего удаляла приложение.

Лена не ленивая. Лена делает 80% дней. Но существующие трекеры говорят ей, что 80% = провал.


Что делает?

Одна функция: трекинг одной привычки с momentum-механикой вместо стриков.

Пользователь выбирает одну привычку. Каждый день — одна кнопка: "сделано". Всё. Нет списка из 12 привычек, нет категорий, нет настроек частоты. Одна привычка, одна кнопка.


Изюм: Momentum вместо Streaks

Проблема стриков

Стрик — бинарная система: либо ты идеален, либо ты на нуле. 47 дней подряд -> пропуск -> 0 дней. Это не отражает реальность. Человек, который делал что-то 47 из 48 дней, не находится "на нуле".

Решение: Momentum Meter

Momentum — число от 0 до 100%, которое отражает силу привычки за скользящее окно последних 30 дней.

Механика:

  • Каждый отмеченный день добавляет momentum
  • Пропущенный день не обнуляет, а слегка снижает momentum
  • Один пропуск при 47 отмеченных днях: momentum падает с ~98% до ~93%, а не до нуля
  • Momentum восстанавливается за 1-2 дня, если вернуться к привычке
  • Формула (упрощённо): momentum = (отмеченных дней за 30 дней / 30) * 100%

Визуализация

Никаких "0 дней". Вместо этого:

  1. Круговой индикатор momentum — заполненность круга от 0% до 100%, плавные переходы цвета (холодный -> тёплый)
  2. Тепловая карта — последние 30 дней точками, где отмеченные дни — яркие, пропущенные — бледные (не красные, не перечёркнутые)
  3. Фраза дня — вместо "Стрик: 0 дней" пользователь видит: "Сила привычки: 93%. Ты в потоке."

Принцип: пропуск — это замедление, а не падение.


Acceptance Criteria

  1. Один HTML-файл. Всё приложение — один файл, без серверной части, без сборки. Открыл в браузере — работает.

  2. localStorage. Все данные хранятся в браузере. Нет аккаунта, нет регистрации, нет синхронизации.

  3. Одна привычка. Пользователь задаёт название одной привычки при первом запуске. Нельзя добавить вторую, пока не удалишь текущую.

  4. Одна кнопка в день. Главный экран — название привычки, momentum meter, кнопка "Сделано". Нажал — день отмечен. Повторное нажатие в тот же день — снимает отметку (undo).

  5. Momentum meter 0-100%. Рассчитывается как процент отмеченных дней за последние 30 дней. Отображается как круговой индикатор с числом внутри.

  6. Тепловая карта 30 дней. Под momentum meter — 30 точек/ячеек, по одной на день. Отмеченный день — яркая точка. Пропущенный — бледная. Будущие дни не показываются.

  7. Позитивная фраза. Под momentum meter — короткая фраза, зависящая от уровня momentum:

    • 0%: "Первый шаг — самый важный"
    • 1-30%: "Начало положено"
    • 31-60%: "Набираешь обороты"
    • 61-80%: "Хорошая инерция"
    • 81-99%: "Ты в потоке"
    • 100%: "Полный momentum"
  8. Нет стриков нигде в интерфейсе. Слова "стрик", "streak", "серия", "подряд" не должны появляться ни в UI, ни в коде.

  9. Мобильный вид. Страница корректно отображается на экране 375px шириной (iPhone SE). Кнопка "Сделано" — крупная, удобная для тапа.

  10. Сброс привычки. Есть скрытая кнопка/жест (например, долгий тап на название) для полного сброса: удаление привычки и всех данных. С подтверждением.


Вне скоупа

  • Несколько привычек
  • Бэкенд, API, база данных
  • Авторизация и аккаунты
  • Синхронизация между устройствами
  • Уведомления и напоминания
  • Экспорт/импорт данных
  • Геймификация (очки, уровни, достижения)
  • Социальные функции
  • Тёмная тема (если не бесплатна по трудозатратам)
  • PWA, Service Worker, оффлайн-режим
  • Аналитика и телеметрия