BIXIRUN — Фитнес-маркетплейс и таймер тренировок
Собственный бренд БАДов + мобильное приложение в App Store: маркетплейс спортивного питания со встроенным интервальным таймером и видеозаписью тренировок
Роль
Период
Технологии

Как появился проект
Я запустил собственный бренд спортивных добавок — зарегистрировал компанию, разработал продуктовую линейку, вывел на маркетплейсы. Для аналитики продаж создал RevioMP (отдельный проект). А для привлечения аудитории нужно было приложение.
Гипотеза: покупатель БАДов — это человек, который тренируется. Ему нужен таймер. Если объединить магазин и таймер в одном приложении — покупатель возвращается чаще. Замкнутый цикл: купил добавку → тренируется с таймером → заканчивается → покупает снова.
Приложение писал с нуля, один. От первого коммита до публикации в App Store.
Что внутри
Два модуля, одна цель — удержание пользователя.
Маркетплейс закрывает покупку: каталог с фильтрацией, карточки товаров, корзина, блог со статьями о питании и тренировках. Таймер закрывает использование: настраиваемые интервалы для HIIT, Tabata и круговых тренировок, готовые пресеты, видеозапись тренировки с наложением таймера в реальном времени.
Логика продукта: человек покупает добавку, тренируется с таймером, записывает видео, делится в соцсетях — и возвращается за следующей банкой.
Архитектура
Скриншоты



Решения
Supabase вместо собственного бэкенда — скорость запуска важнее кастомизации на старте. Redux Toolkit для состояния таймера и корзины — два критичных потока, которые должны работать без сбоев. Кастомный iOS-модуль на Swift для видеозаписи — готовых решений для наложения таймера на видео в реальном времени не существовало.
Технологический стек
| Слой | Технология |
|---|---|
| Framework | React Native 0.79 + Expo 53 |
| Язык | TypeScript 5.8 |
| Роутинг | Expo Router 5 (file-based, как Next.js) |
| Стейт | Redux Toolkit 2.8 (таймер, корзина, контент) |
| Backend | Supabase (PostgreSQL, Auth, Storage, Realtime) |
| Видео | Vision Camera 4.7 + кастомный iOS-модуль |
| UI | React Native Paper (Material Design) |
| Аудио | expo-audio + expo-av |
| Безопасность | expo-secure-store, Face ID / Touch ID |
Что под капотом
Кодовая база — 14 000+ строк TypeScript в 88 файлах:
- 50+ компонентов, 3 Redux-slice, 10+ кастомных хуков
- Оптимизация рендеринга:
React.memo, мемоизированные селекторы, кастомныйuseFlatListOptimizationдля плавного скролла каталога на тысячах карточек - Кастомный iOS-модуль на Swift — запись видео с наложением таймера в реальном времени
- Offline-ready — определение состояния сети, локальное кеширование данных
- Deep Linking — URL-схемы для продуктовых страниц (
bixirun://product/*) - Персистентность — состояние корзины и таймера сохраняется между сессиями
- Безопасность — токены в SecureStore, биометрическая аутентификация (Face ID / Touch ID)
Статус
Опубликовано в App Store. Production-приложение с полным функционалом Marketplace и Timer.
В разработке: AI-тренер — персональный помощник на базе LLM для составления программ тренировок и питания. Параллельно — модель монетизации приложения.