• Работы
  • Компетенции
  • Инженерные решения
  • Услуги
  • Стоимость
  • Обо мне
  • Контакты
Обсудить проект
  • Работы
  • Компетенции
  • Инженерные решения
  • Услуги
  • Стоимость
  • Обо мне
  • Контакты
Обсудить проект
Valerii Vvedenskyi

Кейсы описывают реальные продукты, над которыми я работал; каждый факт на этом сайте взят из них.

Разделы

  • Работы
  • Компетенции
  • Инженерные решения
  • Услуги
  • Стоимость
  • Обо мне
  • Контакты

Языки

  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português

Контакт

valerii.vvedenskyi@gmail.com

Toronto, Canada

LinkedIn

© 2026 Valerii Vvedenskyi. Все права защищены.

Политика конфиденциальности

Спроектировано и собрано Валерием Введенским на Next.js.

  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português
  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português
Все работы

Fitofan

Спортивная платформа: веб, мобильные приложения и бэкенд за ними

Одна платформа для атлетов, тренеров, клубов и фанатов: веб-приложение на 11 языках, приложения для iOS и Android и единый бэкенд, за который я отвечаю от начала до конца.

Роль
Senior Full-Stack & Mobile Engineer
Период
2024 – 2026

Контекст

Fitofan обслуживает атлетов, тренеров, родителей, клубы и лиги через веб-приложение на Next.js, приложения на Flutter для iOS и Android и бэкенд на NestJS. Я отвечаю за поставку по всему стеку: архитектура, API, данные, инфраструктура и релизы, а с 2026 года самостоятельно поддерживаю мобильное приложение.

Задача

Держать продукт цельным в трёх кодовых базах и 11 языках, добавляя живые спортивные данные, платежи, публикацию в соцсетях и AI-функции без замедления релизов.

Реализовано на всех уровнях стека

  • Веб-приложение на Next.js 16 по Feature-Sliced Design: 140+ страниц, 11 локалей, около 10 000 ключей перевода с проверкой паритета в CI
  • Бэкенд на NestJS с 90+ модулями, PostgreSQL и 290+ миграциями, Swagger и проверками состояния сервиса
  • Событийная синхронизация через RabbitMQ с идемпотентными потребителями, dead-letter-очередью и корреляционными идентификаторами
  • Кеширование в Redis с инвалидацией через декораторы; шлюзы Socket.IO для комментариев и живых сессий
  • Живые расписания матчей, результаты и коэффициенты из Sportmonks и API-Football; публикация в Meta, TikTok, LinkedIn и YouTube
  • Подписки Finix плюс верификаторы платежей для Stripe, Square, PayPal, LiqPay, Mercado Pago, GCash и Monopay
  • Ассистент на OpenAI с вызовом инструментов, транскрипция Whisper и генерация изображений через Replicate
  • Приложение на Flutter: BLoC, офлайн-кеш Hive, Socket.IO, пуш-уведомления, AdMob, iOS Live Activities, 12 локалей, 360+ тестов
  • CI/CD: lint- и i18n-гейты, Jest, многоэтапный Docker, реестр контейнеров, деплой через SSH; веб на Vercel
  • Общие пакеты регистрации и создания клуба, которые GymTeam переиспользует через инжектируемый контракт хоста
  • AI и компьютерное зрение в той же экосистеме: детское приложение для оценки спортивной подготовки с on-device оценкой позы на Flutter и подписками в приложении, а также браузерный анализ техники тхэквондо на MediaPipe и TensorFlow.js

Инженерные акценты

  • Идемпотентные потребители событий: каждое сообщение записывается до подтверждения, поэтому повторы и воспроизведения никогда не применяются дважды
  • Архитектура, которую обеспечивает инструментарий: правила слоёв, замороженный lint-бейзлайн, который может только уменьшаться, проверки циклических зависимостей и паритет i18n на каждом pull request
  • Нативные iOS Live Activities, управляемые из Flutter через мост method channel
  • Один сценарий регистрации, упакованный за контрактом хоста и используемый в двух продуктах

Что это даёт

Функции выходят в веб, мобильные приложения и бэкенд одним изменением, а платформа обменивается данными клубов с GymTeam в реальном времени.

Подтверждение

  • Живые счета, события матчей и комментарии транслируются в веб и мобильные приложения в реальном времени
  • Платежи через Finix с верификаторами Stripe, PayPal, Square, LiqPay и Mercado Pago
  • AI-ассистент с 15 доменными инструментами, транскрипцией голоса и генерацией медиа
  • iOS Live Activities для живых счетов матчей — нативное расширение вокруг Flutter
  • Сайт
  • App Store
  • Google Play

Стек

  • Next.js
  • NestJS
  • Flutter
  • PostgreSQL
  • RabbitMQ
  • Redis
  • Socket.IO
  • OpenAI API
  • Finix
  • Docker

Следующий кейс

GymTeam
Обсудить проект