Все проекты
🤖Бот запущен!Открыть @PodpiskaNoPay_Bot
← Все проекты

Трекер подписок

Telegram Mini App Финтех Личные финансы

Умный трекер подписок и рекуррентных платежей: все подписки в одном месте, напоминания об оплате, аналитика трат, рекомендации по экономии. Никаких забытых подписок.

🔔 Обзор проекта

76M
Пользователей подписок в РФ
₽3.2B
Рынок подписок РФ (2025)
34%
Забывают отменить подписку

Проблема

Средний россиянин тратит на подписки от 2 000 до 8 000 рублей в месяц, при этом 34% пользователей забывают отменить ненужные подписки и теряют деньги. Проблема усугубляется ростом числа сервисов: стриминг (Кинопоиск, Иви, Premier), музыка (Яндекс Музыка, VK Музыка, Звук), облачные хранилища, VPN, фитнес-приложения, игровые подписки. Люди не помнят, на что подписаны, когда списывается оплата и сколько это стоит в сумме. Существующие решения (таблицы, заметки) требуют ручного ввода и не напоминают об оплате.

Решение

Telegram Mini App «Трекер подписок» — единый дашборд всех подписок с автоматическим отслеживанием дат оплаты, суммы расходов по категориям, уведомлениями за 3 и 1 день до списания, а также рекомендациями по более выгодным тарифам и альтернативам. Каталог из 200+ российских и международных сервисов с актуальными ценами. ИИ-ассистент анализирует структуру подписок и предлагает оптимизации: семейные тарифы, годовые вместо месячных, альтернативные сервисы.

Ключевые преимущества

Напоминания За 3 и 1 день до оплаты
Каталог 200+ сервисов с ценами
ИИ-оптимизация Рекомендации по экономии
Аналитика Графики трат по категориям

💰 Юнит-экономика

Доходная часть

ARPU (Free)₽0
ARPU (Pro, мес.)₽149
ARPU (Family, мес.)₽349
Средний ARPU (взвеш.)₽124
Conversion Free→Pro9%
Conversion Free→Family2%
Реферальный доход (кэшбэк)₽18/мес

Расходная часть

CAC (реклама)₽250
CAC (органика/вирус)₽65
CAC (взвешенный)₽155
COGS (сервер+уведомления)₽22/мес
Каталог обновлений₽8/мес
Support cost₽10/мес
₽1 488
LTV (12 мес)
9.6x
LTV / CAC
1.3 мес
Окупаемость CAC

Монетизация

Free
₽0
5 подписок
Ручное добавление
Pro
₽149/мес
Безлимит подписок
Напоминания + ИИ-оптимизация
Family
₽349/мес
6 пользователей
Общий бюджет + кэшбэк

🏗️ Архитектура

Frontend
Telegram Mini App
React + Recharts
Calendar компонент
Backend
Go + Gin
PostgreSQL + Redis
Cron-планировщик
Уведомления
Telegram Bot API
Push-уведомления
Email (опционально)
Каталог
Парсеры цен
Ручная кураторская база
API партнёров
Платежи
ЮKassa
Telegram Stars
СБП

Стек технологий

Go 1.22 Gin React 19 Recharts PostgreSQL Redis Docker GitHub Actions ЮKassa Telegram Bot API

Инфраструктура

VPS (Timeweb) — 2 vCPU, 4GB RAM, 60GB SSD. Docker Compose для сервисов. Nginx + SSL. Cron-задачи для проверки дат подписок и отправки уведомлений. CI/CD: GitHub Actions. Мониторинг: Uptime Robot + Sentry. Бэкапы: ежедневные в S3. Ключевой сервис — планировщик уведомлений, работающий каждую минуту для проверки предстоящих списаний.

🔄 Пользовательский флоу

1

Открытие бота

Пользователь находит @SubTrackerBot. Нажимает «Start» → онбординг: «Сколько подписок вы оплачиваете ежемесячно? Большинство людей называют 3, а реально — 7-8».

2

Добавление первой подписки

Быстрый поиск по каталогу: вводите «Нетфликс» или «Кинопоиск» → выбираете из 200+ сервисов. Автоподстановка цены и периода. Или ручной ввод для нестандартных подписок.

3

Дашборд подписок

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

4

Напоминания

За 3 дня: «Через 3 дня спишется 599 ₽ за Яндекс Плюс. Отменить?» За 1 день: «Завтра оплата Netflix — 799 ₽». Inline-кнопки: «ОК», «Отменить подписку» (инструкция), «Перенести напоминание».

5

ИИ-оптимизация (Pro)

Анализ подписок: «Вы платите за Яндекс Музыку (199 ₽) и VK Музыку (169 ₽). Рекомендуем оставить одну — экономия 2 028 ₽/год». «Переключите Netflix на годовой тариф — экономия 2 388 ₽/год».

6

Аналитика и отчёты

Графики: динамика трат по месяцам, распределение по категориям, сравнение с прошлым кварталом. «В этом месяце вы потратили на подписки на 15% больше, чем в прошлом». Экспорт в PDF/Excel.

📊 Финансовая модель (3 года)

Показатель Год 1 Год 2 Год 3
Пользователи (конец года) 25 000 120 000 450 000
Платящие пользователи 2 750 13 200 49 500
ARR (годовой recurring доход) ₽4.1M ₽19.7M ₽73.9M
Операционные расходы ₽2.8M ₽7.2M ₽18.0M
Маркетинг ₽2.5M ₽5.8M ₽12.5M
Инфраструктура ₽0.4M ₽0.9M ₽2.0M
EBITDA -₽1.6M +₽5.8M +₽41.4M
Маржинальность EBITDA -39% 29% 56%
Накопленный баланс -₽1.6M +₽4.2M +₽45.6M

Динамика выручки и EBITDA

Год 1
Год 2
Год 3
Выручка
EBITDA

Ключевые допущения

Conversion Free→Paid: 11% (самый высокий среди трёх проектов — подписочный трекер решает конкретную боль с понятной ценностью). Churn: 4%/мес (год 1), 2.5%/мес (год 2-3) — пользователи не уходят, пока у них есть подписки. Вирусный коэффициент: 1.3 (каждый пользователь приглашает в среднем 1.3 человека через Family-тариф и рекомендации). Реферальный доход: партнёрские программы сервисов (кэшбэк при регистрации через трекер).

🛡️ 5 Аксиом ОСР v7.0 — Антихрупкая разработка

1. Контекстная Энтропия (Context Entropy)

Контекст деградирует: цены подписок меняются, сервисы закрываются, пользователь забывает обновить данные.

Директива 1: Цены подписок меняются провайдерами — автоматический парсинг цен раз в неделю + ручная валидация кураторами для топ-50 сервисов.
Директива 2: Сервисы закрываются или объединяются (как Иви + MEGOGO) — мониторинг новостей + автоматический флаг «возможно недоступен» при ошибке API.
Директива 3: Данные пользователя устаревают (поменялся тариф, отменил подписку) — ежемесячный пуш «Подтвердите актуальность подписок» с one-click подтверждением.

2. Механическая Истина (Mechanical Truth)

Истина только та, которую можно проверить механически.

Директива 4: Сумма расходов пользователя = агрегация всех активных подписок. Если итог не сходится — алерт рассинхронизации, а не молчание.
Директива 5: Каждый парсер цен имеет self-test: если спарсенная цена отличается от предыдущей более чем на 50% — алерт, ручная проверка, fallback на кэш.
Директива 6: Интеграционные тесты с API каталога сервисов — проверка доступности и корректности ответов каждые 6 часов.

3. Граничное Разрушение (Boundary Decay)

Границы модулей размываются без принудительного контроля.

Директива 7: Модуль каталога сервисов изолирован от модуля пользователей — обновление цен не влияет на работоспособность трекера.
Директива 8: Сервис уведомлений отделён через очередь (Redis Queue) — падение планировщика не блокирует добавление подписок.
Директива 9: API партнёров (кэшбэк) — optional-модуль: если партнёрский API недоступен, приложение работает без кэшбэка, а не падает.

4. Обратимость (Reversibility)

Каждое действие должно быть обратимым.

Директива 10: Удаление подписки → корзина (30 дней) с возможностью восстановления. Не удаление, а пометка «inactive».
Директива 11: Feature flags для нового ИИ-модуля оптимизации — если рекомендации некорректны, модуль отключается за 30 секунд.
Директива 12: Rollback-деплой: при проблемах с новой версией, предыдущая поднимается параллельно и переключается через nginx upstream.

5. Неизменность Состояния (State Immutability)

Состояние — неизменяемая последовательность событий.

Директива 13: История подписок append-only: добавление, изменение тарифа, отмена — всё события. Нельзя «переписать» историю платежей.
Директива 14: Снапшот агрегированного стейта (месячный бюджет, список активных подписок) на каждый конец дня — быстрая реконсиляция.
Директива 15: CQRS: команды (добавить/изменить подписку) и запросы (дашборд, аналитика) через разные модели данных, оптимизированные под свою задачу.

🗺️ Roadmap реализации

Фаза 1: MVP (месяц 1-2)

Telegram Bot + Mini App Запланировано
Каталог 50+ сервисов + ручной ввод Запланировано
Напоминания об оплате Запланировано

Фаза 2: Pro-функционал (месяц 3-4)

Подписки Pro/Family + оплата Запланировано
Дашборд + аналитика по категориям Запланировано
Каталог 200+ сервисов Запланировано

Фаза 3: ИИ и масштабирование (месяц 5-8)

ИИ-оптимизация подписок Запланировано
Партнёрские программы (кэшбэк) Запланировано
Family-тариф + общий бюджет Запланировано

Фаза 4: Экосистема (месяц 9-12)

Авто-определение подписок по SMS/email Запланировано
Web-версия дашборда Запланировано
Интеграция с банковскими API (СБП) Запланировано
🔧

Контекст разработчика

v3.0

🖥 Сервер

IP93.183.81.233
SSHroot@93.183.81.233
ПарольaywrNd3WUP-eyH
OSUbuntu 24.04 LTS
Nodev22.22.2
PM2установлен

🤖 Telegram Бот

Username@PodpiskaNoPay_Bot
Ссылкаt.me/PodpiskaNoPay_Bot
Token8282317059:AAEQYg2fuW5C5-I8AiIPsl5-p6Xy8ptBFzs
PM2 namesubtracker-bot
Версияv3.0 (кнопочная навигация)

🐘 PostgreSQL

БДsubtracker
Usersubtracker_user
PasswordSubTrack2026!
URLpostgresql://subtracker_user:SubTrack2026!@localhost:5432/subtracker
Таблицыusers, subscriptions, notifications, family_members, price_history, deleted_subscriptions

📂 Файлы проекта

Путь/var/www/rodnoy.site/subtracker-bot/
Entrysrc/index.js
Handlerssrc/handlers.js
DBsrc/db.js
Constantssrc/constants.js
Env.env
PM2ecosystem.config.js

⌨️ Команды управления

# SSH подключение
ssh root@93.183.81.233    # пароль: aywrNd3WUP-eyH

# Управление ботом
pm2 restart subtracker-bot    # перезапуск
pm2 logs subtracker-bot       # логи
pm2 stop subtracker-bot       # остановить

# БД — подключение
PGPASSWORD='SubTrack2026!' psql -U subtracker_user -d subtracker -h localhost

# БД — бэкап (авто каждый день в 3:00 МСК)
bash /usr/local/bin/backup-subtracker.sh

# Бэкапы хранятся
ls /var/backups/subtracker/

# Обновить код бота
# 1. Залить файл через SFTP в /var/www/rodnoy.site/subtracker-bot/src/
# 2. pm2 restart subtracker-bot

✅ Реализовано (Неделя 1)

✅ /start — приветствие ✅ /add — записать подписку ✅ /list — список подписок ✅ /edit — изменить подписку ✅ /price — обновить цену + история ✅ /delete — мягкое удаление ✅ /undo — вернуть за 5 мин ✅ /stats — статистика расходов ✅ /soon — ближайшие платежи ✅ /catalog — 46 сервисов РФ ✅ /settings — часовой пояс ✅ /export — экспорт CSV ✅ /pro — заглушка Pro тарифа ✅ Кнопочная навигация ✅ Выбор времени уведомлений ✅ Города РФ с разницей от МСК ✅ Своя подписка (нет в каталоге) ✅ Детекция дубликатов ✅ Февральская проблема (дни 29-31) ✅ Ежедневный бэкап БД ✅ Cron уведомления (3д, 1д, сегодня)

📋 План развития

🔄 Неделя 2 — в процессе:
Рекомендации по экономии (Яндекс Плюс включает Кинопоиск и т.д.)
Сравнение со средним по РФ
Mini App (Web App) дашборд

💎 Неделя 3 — Pro + монетизация:
ЮKassa интеграция для оплаты Pro
Telegram Stars оплата
Pro тариф: безлимит + аналитика + экспорт
Семейный тариф
Реферальная система

📐 5 Аксиом OSR v7.0

1. Context Entropy — каждое сообщение бота содержит контекст (подписка + суммы + сроки)
2. Mechanical Truth — данные из БД, не хардкод. Цены обновляются через /price с историей
3. Boundary Decay — уведомления затухают (3д → 1д → сегодня), корзина 5 мин, бэкапы 30 дней
4. Reversibility — /undo возвращает удаление, /edit отменяет ошибку, цена хранит историю
5. State Immutability — цена в price_history неизменна, deleted_subscriptions — отдельная таблица