• Роботи
  • Компетенції
  • Інженерні рішення
  • Послуги
  • Вартість
  • Про мене
  • Контакти
Обговорити проєкт
  • Роботи
  • Компетенції
  • Інженерні рішення
  • Послуги
  • Вартість
  • Про мене
  • Контакти
Обговорити проєкт
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
Обговорити проєкт