# От идеи до релиза: полное руководство по созданию Telegram MiniApp для accountability-трекера

**Создание accountability-приложения в формате Telegram MiniApp — реалистичная задача для соло-разработчика с AI-ассистентами, даже без знания языков программирования.** Оптимальный стек — React + Next.js + TypeScript (фронтенд), Python/FastAPI + aiogram (бот и бэкенд), Supabase/PostgreSQL (база данных), Vercel + Railway (хостинг). Этот стек обеспечивает максимальную поддержку AI-инструментами, быстрый выход в продакшн и плавное портирование на iOS/Android в будущем. Проект реально довести до рабочего MVP за **6–8 недель**, если следовать чёткому плану и правильно распределять задачи между AI-ассистентами. Ниже — детальная дорожная карта каждого этапа: от анализа конкурентов до первого коммита.

---

## Что именно копировать у Forfeit и конкурентов

Forfeit (Y Combinator W23, основатели Josh Mitchell и Eddie Raven) — лидер ниши с рейтингом **4.9 на iOS и 5.0 на Android**, более 20 000 пользователей и показателем успеха **94% на 75 000+ обязательств**. Средний пользователь теряет около $10/месяц на штрафах. Приложение сейчас ребрендится в Overlord — AI-агента, который мониторит пользователя 24/7.

### Ключевые механики Forfeit, которые стоит взять

**Система обязательств (Forfeits):** пользователь создаёт обязательство с названием, дедлайном, суммой штрафа и методом верификации. Поддерживаются повторяющиеся обязательства (X дней в неделю, конкретные дни). Дедлайн можно только приблизить, но не отодвинуть. Сумма штрафа — от $1 до $50 за обязательство. Если пользователь не предоставил доказательство до дедлайна — штраф списывается автоматически с привязанной карты.

**Методы верификации** — главное конкурентное преимущество Forfeit. Их **13 способов**: фото (проверяет GPT-4 Vision), таймлапс-видео (проверяет человек), GPS check-in (быть в радиусе 100м от точки), GPS avoid (не быть рядом с точкой), самоподтверждение, подтверждение другом, Apple Health, Strava, Whoop, MyFitnessPal, RescueTime, Screen Time, Pomodoro-таймер. Для вашего MVP в Telegram достаточно начать с **4 методов**: самоподтверждение, подтверждение другом, фото-доказательство и текстовый отчёт.

**Три уровня строгости (Leniency modes):** Lenient (апелляции легко), Normal (нужны доказательства), Hard (апелляции отключены). Система апелляций предотвращает негатив пользователей — это важно даже для MVP.

**Правило 3 подряд:** если одно обязательство проваливается 3+ раза подряд, штрафы ограничиваются тремя зарядами. Это защита от «бесконечного слива денег».

### Что взять у конкурентов

**StickK** (Yale, 2007) изобрёл концепцию **антиблаготворительности** — деньги уходят организации, которую пользователь ненавидит. По их данным, это повышает успешность на **630%**. StickK полностью бесплатен, деньги берёт только при проигрыше пользователя. Система рефери (друг проверяет отчёт) и supporters (получают обновления) — отличная социальная механика для Telegram.

**Beeminder** (2011) использует уникальную модель **эскалирующих штрафов**: каждый провал увеличивает ставку. Минимальный штраф $5, после провала сумма растёт. Есть «Bright Red Line» — визуализация прогресса на графике, пересечение линии = списание. Идея эскалации штрафов отлично подходит для повышения мотивации.

### Паттерны для вашего MVP в Telegram

Базовый пользовательский путь для MVP: **Создать вызов → Пригласить друга через Telegram-ссылку → Ежедневный check-in → Автоматическое последствие при провале**. Виртуальный баланс вместо реальных платежей — правильное решение для старта, избавляющее от юридических сложностей. Антиблаготворительность как мотиватор — ключевая фича, которую стоит заложить в архитектуру с первого дня, даже если ручной перевод.

---

## Технологический стек: конкретный выбор с обоснованием

### Фронтенд: React + Next.js 15 + TypeScript + Tailwind CSS

Telegram MiniApps — это обычные веб-приложения, работающие внутри WebView Telegram. Любой веб-фреймворк подходит, но **React + Next.js — единственный стек, оптимальный по всем критериям одновременно**. На GitHub-организации Telegram-Mini-Apps есть официальные шаблоны для React (408 звёзд), Next.js, Vue и других фреймворков. React-шаблон популярнее остальных в 10+ раз.

Для интеграции с Telegram используйте **tma.js/sdk** (@tma.js) — community TypeScript SDK, который используется во всех официальных шаблонах и считается лучшей альтернативой встроенному SDK Telegram. Для UI-компонентов — **@telegram-apps/telegram-ui**, React-библиотека, имитирующая нативный интерфейс Telegram (iOS HIG + Material Design). Она включает готовые компоненты: AppRoot, кнопки, карточки, списки, плейсхолдеры.

Tailwind CSS + **shadcn/ui** дополняют стек: Tailwind для быстрой стилизации, shadcn/ui для компонентов, которых нет в Telegram UI Kit. Именно этот набор (React + Tailwind + shadcn/ui) генерирует **v0 by Vercel**, что делает прототипирование UI максимально быстрым.

**Почему не Vue или Flutter:** Vue имеет меньше TMA-специфичных ресурсов и хуже поддерживается AI-инструментами. Flutter для web в Telegram WebView имеет известные проблемы производительности, нет официальных TMA-шаблонов, а Dart значительно хуже поддерживается AI-кодогенерацией.

### Бэкенд: Supabase + Python (FastAPI + aiogram)

Гибридный подход — оптимальный для соло-разработчика. **Supabase** берёт на себя 80% бэкенд-рутины: PostgreSQL-база с автогенерацией REST API, аутентификация, хранилище файлов, realtime-подписки. Щедрый бесплатный тариф достаточен для MVP. Supabase использует стандартный SQL, что критично — AI-инструменты генерируют надёжный SQL-код.

**Python (FastAPI + aiogram 3)** — для логики Telegram-бота, кастомной бизнес-логики, обработки вебхуков и валидации initData (HMAC-SHA256). Ваш опыт с aiogram — серьёзное преимущество. На GitHub есть production-шаблоны, объединяющие FastAPI + aiogram специально для Telegram Mini Apps (например, fastapi-telegram-mini-app с интеграцией PostgreSQL и Redis).

**База данных: PostgreSQL через Supabase.** SQLite не подходит для веб-приложений из-за ограничений конкурентного доступа. PostgreSQL даёт оконные функции (RANK(), ROW_NUMBER()) для лидербордов, ACID-транзакции для финансовой логики, и бесплатный хостинг через Supabase или Neon.

### Хостинг и деплой

**Vercel** для фронтенда — `git push` = деплой за 30 секунд, глобальный CDN, zero-config для Next.js, щедрый бесплатный тариф. **Railway** для Python-бэкенда — простой деплой, бесплатный trial, поддержка PostgreSQL. Стартовая стоимость: **$0/месяц** на бесплатных тарифах всех сервисов.

### Стратегия портирования на iOS/Android

**Фаза 1 (сейчас):** TMA на React + Next.js. Используйте встроенную функцию addToHomeScreen — пользователи могут добавить MiniApp на домашний экран как PWA-приложение.

**Фаза 2 (быстрый выход в App Store):** **Capacitor** оборачивает ваше React-приложение в нативный WebView с доступом к нативным API. Команда `npx cap add ios && npx cap add android` — и ваш TMA становится нативным приложением. Почти 100% переиспользование кода.

**Фаза 3 (если нужно нативное качество):** Порт на **React Native + Expo**. Бизнес-логика, API-вызовы, TypeScript-типы переиспользуются (~60–70%). UI переписывается на нативные компоненты. Команда dev.family опубликовала детальный гайд по React Native для iOS, Android, Web и Telegram из одной кодовой базы.

---

## Полный цикл разработки: 10 этапов для соло-разработчика

### Этап 1: Discovery — исследование (2–3 дня)

В профессиональной команде Product Owner проводит маркетинговые исследования, интервью с пользователями, готовит MRD. **Вы делаете:** изучаете конкурентов (этот отчёт — уже большая часть работы), пишете одностраничное Problem Statement (кто, что, зачем), создаёте 2–3 пользовательских персоны, валидируете идею в разговорах с 5–10 друзьями.

**Документы:** Problem Statement (1 страница), персоны (1 страница), заметки по конкурентам (таблица сравнения).

**AI-инструмент:** ChatGPT или Gemini для брейншторма и структурирования мыслей. Промпт: *«Помоги мне создать Problem Statement для accountability-приложения в Telegram. Целевая аудитория — люди 20–35 лет, которые прокрастинируют. Формат: Кто (аудитория), Что (проблема), Почему (важность), Как (решение)»*.

### Этап 2: PRD — требования к продукту (1–2 дня)

Самый важный документ проекта. Структура PRD:

1. **Overview** — что это за проект, зачем строим
2. **Problem Statement** — какую боль пользователя решаем
3. **Goals & Success Metrics** — DAU, retention, completion rate
4. **Target Personas** — кто основные пользователи
5. **User Stories** — приоритизированные по MoSCoW
6. **Features Out** — что явно НЕ делаем
7. **Timeline** — MVP → v1.0 → v2.0
8. **Technical Constraints** — ограничения Telegram WebApp
9. **Open Issues** — нерешённые вопросы
10. **Key Decisions** — зафиксированные решения

**AI-инструмент:** Claude для создания PRD (лучше структурирует документы). Промпт: *«Создай PRD для Telegram MiniApp — accountability-приложения. Виртуальный баланс, штрафы за пропущенные дедлайны, антиблаготворительность. MVP для себя и друзей. Используй шаблон: Overview, Problem Statement, Goals, Personas, User Stories (с MoSCoW-приоритетами), Features Out, Timeline, Constraints, Open Issues»*.

### Этап 3: Приоритизация фич по MoSCoW

**Must Have** (~60% усилий) — без этого приложение не работает:
- Аутентификация через Telegram
- Создание вызова (название, дедлайн, частота, сумма штрафа)
- Приглашение друга по Telegram-ссылке
- Ежедневный/еженедельный check-in
- Отслеживание статуса (активный/выполнен/провален)
- Бот-напоминания перед дедлайном
- Дашборд с активными вызовами
- Виртуальный баланс и учёт штрафов

**Should Have** (~20%) — важно, но есть обходные пути:
- Фото-доказательства для check-in
- Несколько типов последствий
- Профиль пользователя со статистикой
- Настройки уведомлений

**Could Have** (~20%) — улучшения, которые легко отложить:
- Трекинг стриков
- История вызовов
- Категории и теги вызовов
- Шаринг достижений

**Won't Have** (знать, но не делать сейчас):
- Групповые вызовы (3+ участника)
- Реальные денежные ставки
- AI-верификация фото
- Лидерборды
- Интеграции с фитнес-приложениями
- Мультиязычность

### Этап 4: Техническая архитектура (1 день)

**Документ Tech Spec** включает: выбор стека (с обоснованием), модель данных, список API-эндпоинтов, схему аутентификации через Telegram initData, архитектуру деплоя.

Базовая модель данных для вашего приложения:

```
Users (telegram_id, username, display_name, virtual_balance, created_at)
Challenges (id, creator_id, title, description, stake_amount, deadline, frequency, leniency_mode, status)
Participants (challenge_id, user_id, role, joined_at)
CheckIns (id, challenge_id, user_id, proof_type, proof_data, submitted_at, verified)
Transactions (id, user_id, challenge_id, amount, type, description, created_at)
```

**AI-инструмент:** Claude Code для архитектуры. Промпт: *«Спроектируй архитектуру Telegram MiniApp. Стек: React + Next.js (фронт), Python FastAPI + aiogram (бот), Supabase PostgreSQL (БД), Vercel + Railway (хостинг). Покажи: диаграмму компонентов, модель данных с таблицами и связями, список API-эндпоинтов, схему аутентификации через Telegram initData»*.

### Этап 5: UX и прототипы (1–2 дня)

Для Telegram MiniApp не нужны high-fidelity макеты. Нарисуйте **5–8 основных экранов** на бумаге или в Excalidraw: онбординг, дашборд, создание вызова, детали вызова, check-in, профиль/баланс. Затем используйте v0 by Vercel для генерации React-компонентов.

**AI-инструмент:** v0 by Vercel для UI. Промпт: *«Create a mobile-first dashboard for an accountability app. Dark theme, Telegram-style. Show: active challenges as cards with title, deadline countdown, stake amount, and check-in button. Bottom navigation with Dashboard, Create, Profile tabs. Use shadcn/ui and Tailwind»*. Полученные компоненты копируются в проект и адаптируются под Telegram SDK.

### Этапы 6–10: Разработка, тестирование, деплой, мониторинг, итерации

**Разработка** ведётся по порядку зависимостей: модель данных → API → базовая логика → UI → интеграции. Каждая фича — отдельная ветка Git. Коммиты после каждого работающего изменения.

**Тестирование** для MVP: юнит-тесты для критичной бизнес-логики (создание вызова, детекция дедлайна, списание штрафа), ручное тестирование на 2–3 устройствах прямо в Telegram.

**Деплой:** GitHub Actions автоматически деплоит на Vercel (фронт) и Railway (бэкенд) при пуше в main. Два окружения: development (локальный + тест-бот) и production.

**Мониторинг:** Sentry (бесплатный тариф) для отслеживания ошибок, UptimeRobot для аптайма.

---

## Workflow с AI-ассистентами: кто что делает

### Распределение ролей

**Claude Code** — главный архитектор и разработчик. Работает в терминале, может читать файлы, запускать тесты, делать многофайловые изменения. Code Acceptance Rate **~78%** (код принимается без правок чаще, чем у других инструментов). SWE-bench score **72.7%**. Используйте для: архитектурных решений, сложных фич, code review, документации, отладки. Стоимость: Pro $20/мес.

**v0 by Vercel** — UI-генератор. Описываете интерфейс текстом → получаете React + Tailwind + shadcn/ui код с живым превью. Итерируете через чат. 200 бесплатных кредитов в месяц. Используйте для: быстрого прототипирования экранов, генерации компонентов.

**ChatGPT (GPT-4o)** — исследователь и брейнштормер. Веб-поиск, генерация PRD, сравнение технологий, альтернативные мнения. Бесплатный тариф достаточен для большинства задач. Используйте для: фазы исследования, написания документации, обсуждения архитектурных альтернатив.

**Gemini (2.5 Pro/Flash)** — специалист по длинному контексту. Окно контекста **1M токенов**, щедрый бесплатный тариф через Gemini CLI. Используйте для: ревью всей кодовой базы целиком, рефакторинга, бесплатной альтернативы Claude для простых задач.

**Cursor IDE** — лучший вариант IDE для начинающего. Форк VSCode с нативным AI, поддерживает Claude, GPT, Gemini (переключение на лету). Визуальные диффы, agent mode для многофайловых изменений. $20/мес. Для новичка Cursor удобнее Claude Code CLI благодаря визуальному интерфейсу.

**OpenAI Codex** — для параллельных фоновых задач. Бесплатен на macOS, может запускать несколько агентов на отдельных git worktrees одновременно. Используйте для: написания тестов параллельно с основной разработкой, миграций.

### Экономия токенов Claude — 7 ключевых приёмов

1. **`/clear` между несвязанными задачами** — каждое сообщение перерабатывает всю историю диалога, не тащите контекст авторизации в задачу по CSS
2. **CLAUDE.md до 5K токенов** — этот файл загружается в каждую сессию, раздутый файл ухудшает качество
3. **`@file` вместо вставки кода** — указывайте на файлы, не копируйте весь контент в чат
4. **Haiku для простых задач**, Sonnet для основной работы, Opus только для сложной архитектуры
5. **`/compact` на 70% заполнения контекста** — сжимает историю разговора
6. **Новая сессия для новой задачи** — держите сессии до 30K токенов, перезапускайте каждые 20 итераций
7. **Отключайте неиспользуемые MCP-серверы** — Supabase + GitHub + Chrome DevTools = ~75 000 «холостых» токенов

### Бюджетная комбинация инструментов

- **Бесплатный набор:** Gemini CLI + ChatGPT Free + v0 (200 кредитов) + GitHub Copilot Free
- **Минимальный платный:** Claude Pro ($20/мес) ИЛИ Cursor Pro ($20/мес) — выберите один как основной
- **Оптимальный:** Claude Pro ($20/мес) + Cursor Pro ($20/мес) — Claude для CLI и reasoning, Cursor для IDE и визуальной разработки

### Передача контекста между AI-ассистентами

Создайте в проекте файл `docs/ai-context/project-brief.md` — универсальный контекст для любого AI:

```markdown
# Project Brief: [Название]
## What: Telegram MiniApp для accountability-трекера
## Tech: React + Next.js + TypeScript + Supabase + Python/aiogram
## Status: MVP, 30% готово
## Core Features: [список с статусами done/in-progress/planned]
## Current Focus: [что делаете на этой неделе]
## Key Constraints: Telegram WebApp container, бесплатный хостинг
```

При переключении между инструментами: исследование в ChatGPT → скопируйте решение в `docs/PRD.md` → укажите ссылку в CLAUDE.md. UI из v0 → экспортируйте компонент → вставьте в проект → адаптируйте в Cursor. Второе мнение — скопируйте код + описание контекста в Gemini.

### Шаблоны промптов по этапам

**Исследование:** *«Проанализируй [технологию] для Telegram MiniApp. Сравни [А] vs [Б] по: производительность, простота настройки, поддержка сообщества, стоимость. Дай рекомендацию с обоснованием.»*

**Архитектура:** *«Спроектируй архитектуру для [описание]. Требования: [1, 2, 3]. Ограничения: Telegram WebApp. Выход: диаграмма компонентов, data flow, структура файлов, ключевые технические решения.»*

**Кодирование:** *«Реализуй [фичу] по архитектуре из @docs/architecture.md. Контекст: @src/[файл].ts показывает текущий паттерн. Требования: [1, 2]. Ограничения: не меняй файлы вне @src/[папки]/. Включи обработку ошибок и TypeScript-типы.»*

**Отладка:** *«Отладь ошибку в [файле]: [текст ошибки]. Ожидаемое поведение: [что должно быть]. Фактическое: [что происходит]. Уже пробовал: [что делал]. Проверь: null-ссылки, тайминг async, порядок инициализации Telegram SDK.»*

---

## Организация проекта: файлы, Obsidian, Git

### Структура папок проекта

```
telegram-accountability/
├── CLAUDE.md                    # Контекст для Claude Code
├── README.md                    # Обзор проекта, инструкции по запуску
├── .env.example                 # Шаблон переменных окружения
├── .gitignore
│
├── docs/                        # Проектная документация
│   ├── PRD.md                   # Требования к продукту
│   ├── architecture.md          # Архитектура системы
│   ├── api-spec.md              # Документация API
│   ├── user-stories.md          # User stories с критериями приёмки
│   └── ai-context/              # Контексты для AI-ассистентов
│       ├── project-brief.md
│       └── current-sprint.md
│
├── research/                    # Заметки исследований
│   ├── competitors.md
│   ├── telegram-api.md
│   └── tech-stack.md
│
├── designs/                     # Дизайн-артефакты
│   ├── wireframes/
│   └── figma-links.md
│
├── src/
│   ├── frontend/                # React + Next.js (Telegram MiniApp)
│   │   └── src/
│   │       ├── app/             # Входная точка, роутинг
│   │       ├── components/      # Общие UI-компоненты
│   │       ├── features/        # Модули по фичам (auth/, dashboard/, challenges/)
│   │       ├── hooks/           # Кастомные хуки (useTelegram, useAuth)
│   │       ├── lib/             # Утилиты, константы
│   │       └── services/        # API-клиент, Supabase
│   │
│   └── backend/                 # Python FastAPI + aiogram
│       ├── app/
│       │   ├── routes/          # API-эндпоинты
│       │   ├── models/          # Модели данных
│       │   ├── services/        # Бизнес-логика
│       │   └── bot/             # Логика Telegram-бота
│       └── requirements.txt
│
├── tests/
├── scripts/
└── .github/workflows/ci.yml    # GitHub Actions CI/CD
```

### Obsidian как второй мозг проекта

Создайте отдельный vault `AccountabilityApp-Notes` (не внутри репозитория кода). Структура:

- **00-Dashboard/** — главная страница со ссылками на всё, Kanban-доска
- **01-Project/** — PRD, user stories, архитектура, roadmap, milestone
- **02-Research/** — заметки по Telegram API, паттернам React, конкурентам
- **03-Development/** — API-дизайн, схема базы, гайд по деплою
- **04-Daily-Log/** — ежедневные заметки (что сделал, что узнал, что блокирует)
- **05-AI-Context/** — файлы для копирования в AI-ассистенты
- **Templates/** — шаблоны для ежедневных заметок, user stories, решений

Обязательные плагины Obsidian: **Kanban** (визуальная доска задач), **Dataview** (динамические запросы к заметкам), **Templater** (шаблоны с переменными и автоподстановкой), **Tasks** (трекинг задач по всему vault), **Calendar** (навигация по дневным заметкам).

Связывайте заметки через `[[wikilinks]]`: в PRD ссылайтесь на `[[User Stories#US-001]]`, в user stories на `[[Telegram API#initData validation]]`, в дневнике на `[[Decisions/002-use-supabase]]`. Это создаёт граф знаний, по которому легко навигировать.

### Git workflow для соло-разработчика

Используйте **упрощённый trunk-based подход**: основная ветка `main` (всегда рабочая) + короткоживущие feature-ветки.

```bash
# Начало новой фичи
git checkout main && git pull
git checkout -b feature/challenge-creation

# Работа, частые коммиты
git commit -m "feat(challenges): add creation form component"
git commit -m "feat(challenges): implement API endpoint"

# Фича готова — мерж
git checkout main && git merge feature/challenge-creation
git push origin main && git branch -d feature/challenge-creation
```

**Конвенция коммитов:** `feat:` (фича), `fix:` (баг), `docs:` (документация), `refactor:` (рефакторинг), `test:` (тесты), `chore:` (конфигурация). Коммит = одно логическое изменение, описываемое одним предложением. **Коммитьте после каждого работающего изменения** — относитесь к коммитам как к save points в игре.

Теги для milestone: `v0.1.0` — первый работающий прототип, `v0.2.0` — новая крупная фича, `v1.0.0` — первый production-релиз.

---

## Пошаговый план первых 8 недель

### Неделя 1: Фундамент и исследование

**День 1 — Setup:** Создайте аккаунты GitHub, Vercel, Supabase, Railway. Установите Node.js (LTS), VSCode, Git, Obsidian. Установите расширения VSCode: ESLint, Prettier, GitLens, Tailwind CSS IntelliSense, Error Lens. Настройте Obsidian vault.

**День 2 — Telegram:** Создайте тест-бота через @BotFather. Получите токен. Прочитайте официальную документацию Telegram MiniApp (core.telegram.org/bots/webapps). Заметки — в Obsidian.

**День 3 — Исследование стека:** Изучите шаблон tma.js для React. Запустите его локально. Установите ngrok или localtunnel для тестирования MiniApp в Telegram. Зафиксируйте выбор стека в `research/tech-stack.md`.

**День 4 — PRD:** Напишите PRD в Obsidian с помощью Claude/ChatGPT. Определите scope MVP через MoSCoW. Зафиксируйте «Features Out» — что явно не делаете.

**День 5 — User Stories:** Декомпозируйте PRD на user stories с acceptance criteria. Создайте Kanban-доску в Obsidian. Оцените каждую историю по T-shirt sizing (XS/S/M/L/XL).

**Дни 6–7 — Обучение:** Пройдите быстрый туториал по React + TypeScript (если не знакомы). Попробуйте v0 by Vercel — сгенерируйте несколько компонентов. Освойте базовые команды Git.

### Неделя 2: Скаффолдинг и первый код

**День 8:** Создайте репозиторий, структуру папок, .gitignore, CLAUDE.md, README.md. Первый коммит. Push на GitHub.

**День 9:** Скаффолдинг фронтенда из tma.js React-шаблона. «Hello World» в браузере. Коммит.

**День 10:** Скаффолдинг бэкенда (FastAPI + aiogram). Health check эндпоинт. Коммит.

**День 11:** Подключите MiniApp к Telegram через BotFather. Добейтесь, чтобы «Hello World» открывался внутри Telegram. Задокументируйте процесс настройки.

**День 12:** Дизайн основных экранов в Figma (используя Telegram MiniApp UI Kit) или генерация через v0.

**Дни 13–14:** Реализуйте первую user story от начала до конца (UI → API → данные). Коммитьте часто.

### Недели 3–4: Основные фичи MVP

Стройте фичи в порядке зависимостей: аутентификация через Telegram → создание вызова → приглашение друга → dashboard → check-in система → детекция пропусков → уведомления бота → виртуальный баланс. Ежедневные записи в dev-log. Еженедельный ревью и переприоритизация Kanban-доски. Деплой на staging. Тег `v0.1.0` когда базовые фичи работают.

### Недели 5–6: Полировка и Should Have фичи

Добавьте фото-доказательства, профиль пользователя, историю и статистику. Обработка ошибок, loading states, edge cases. Базовые тесты для критичной логики. Тестирование с друзьями в Telegram.

### Недели 7–8: Запуск и итерация

GitHub Actions для CI/CD. Production-деплой. Бета-тест с 5–10 реальными пользователями. Багфиксы по обратной связи. Sentry для мониторинга ошибок. Тег `v1.0.0`. Обновление документации и roadmap на основе реального использования.

---

## Главные правила работы с AI-кодингом

**AI генерирует — человек валидирует.** Исследование Purdue University показало, что **52% программистных ответов ChatGPT содержали ошибки**. Опрос Clutch 2025 года: **59% разработчиков используют AI-код, который не полностью понимают**. Это главный риск. Три правила защиты: всегда запускайте код перед коммитом, всегда читайте код строка за строкой, спрашивайте AI «объясни, почему ты выбрал этот подход» для обучения.

**Маленькие шаги вместо больших запросов.** Просьба реализовать целую фичу за один промпт создаёт «jumbled mess — как если бы 10 разработчиков работали без координации». Один промпт = один компонент или один эндпоинт. Итеративно, с проверкой на каждом шаге.

**Безопасность — ваша ответственность.** AI-код часто имеет небезопасные дефолты: открытый CORS, слабая валидация JWT, публичные эндпоинты. Один разработчик обнаружил, что AI оставил refresh token endpoint публично доступным. Никогда не вставляйте API-ключи в промпты. Всегда вручную проверяйте код авторизации и платёжной логики.

**Второе мнение от другого AI.** Пусть Claude пишет код, а Gemini его ревьюит. Или наоборот. Разные модели ловят разные ошибки. Это эквивалент code review в соло-разработке.

---

## Заключение: что делать прямо сейчас

Этот проект абсолютно реализуем вашими силами. Accountability-приложения — проверенная ниша с чётким product-market fit (Forfeit вырос до 20K+ пользователей за 2 года). Telegram MiniApp — идеальный формат для старта: нулевой барьер установки, встроенная социальность, бесплатная дистрибуция через 950M+ пользователей Telegram.

Ваш конкретный первый шаг сегодня: **откройте Obsidian, создайте vault, и напишите Problem Statement на одну страницу**. Это занимает 30 минут и запускает весь процесс. Затем — PRD с помощью Claude, user stories на Kanban-доске, и на второй неделе вы уже пишете первый код. Стек React + Next.js + Supabase + Python/aiogram даёт вам одновременно лучшую AI-поддержку, бесплатный хостинг на старте и чёткий путь к мобильным приложениям в будущем. Главное правило: документируйте решения, коммитьте часто, и не пытайтесь сделать всё идеально с первого раза — MVP должен быть «достаточно хорошим», а не совершенным.