• Trabalhos
  • Competências
  • Engenharia
  • Serviços
  • Preços
  • Sobre mim
  • Contacto
Falar sobre um projeto
  • Trabalhos
  • Competências
  • Engenharia
  • Serviços
  • Preços
  • Sobre mim
  • Contacto
Falar sobre um projeto
Valerii Vvedenskyi

Os casos descrevem produtos reais em que trabalhei; cada facto neste site vem deles.

Secções

  • Trabalhos
  • Competências
  • Engenharia
  • Serviços
  • Preços
  • Sobre mim
  • Contacto

Línguas

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

Contacto

valerii.vvedenskyi@gmail.com

Toronto, Canada

LinkedIn

© 2026 Valerii Vvedenskyi. Todos os direitos reservados.

Política de privacidade

Desenhado e desenvolvido por Valerii Vvedenskyi com Next.js.

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

Fitofan

Plataforma desportiva: web, apps móveis e o backend por trás delas

Uma plataforma para atletas, treinadores, clubes e adeptos: uma web app em 11 línguas, apps para iOS e Android e um único backend de que me ocupo de ponta a ponta.

Função
Senior Full-Stack & Mobile Engineer
Período
2024 – 2026

Contexto

A Fitofan serve atletas, treinadores, pais, clubes e ligas com uma web app em Next.js, apps Flutter para iOS e Android e um backend em NestJS. Sou responsável pela entrega em toda a stack: arquitetura, APIs, dados, infraestrutura e lançamentos, e desde 2026 mantenho a app móvel sozinho.

O desafio

Manter um produto coerente entre três bases de código e 11 línguas enquanto se acrescentam dados desportivos ao vivo, pagamentos, publicação social e funcionalidades de IA sem abrandar os lançamentos.

Construído em todas as camadas

  • Web app em Next.js 16 sobre Feature-Sliced Design: mais de 140 páginas, 11 locales, cerca de 10 000 chaves de tradução com paridade verificada em CI
  • Backend em NestJS com mais de 90 módulos, PostgreSQL e mais de 290 migrações, Swagger e verificações de estado
  • Sincronização orientada a eventos sobre RabbitMQ com consumidores idempotentes, uma fila de mensagens falhadas e ids de correlação
  • Cache em Redis com invalidação por decoradores; gateways Socket.IO para comentários e sessões ao vivo
  • Jogos, resultados e odds ao vivo da Sportmonks e da API-Football; publicação social em Meta, TikTok, LinkedIn e YouTube
  • Subscrições Finix mais verificadores de pagamento para Stripe, Square, PayPal, LiqPay, Mercado Pago, GCash e Monopay
  • Assistente OpenAI com chamadas a ferramentas, transcrição com Whisper e geração de imagens com Replicate
  • App Flutter: BLoC, cache offline com Hive, Socket.IO, notificações push, AdMob, Live Activities no iOS, 12 locales, mais de 360 testes
  • CI/CD: gates de lint e i18n, Jest, Docker multi-stage, registo de contentores, deploy por SSH; web na Vercel
  • Pacotes partilhados de registo e criação de clubes reutilizados pelo GymTeam através de um contrato de host injetável
  • I&D de IA e visão no mesmo ecossistema: uma app de avaliação desportiva infantil com estimativa de pose no dispositivo em Flutter e subscrições in-app, e uma análise de técnica de taekwondo no browser com MediaPipe e TensorFlow.js

Destaques de engenharia

  • Consumidores de eventos idempotentes: cada mensagem é registada antes de ser confirmada, por isso repetições e replays nunca se aplicam duas vezes
  • Arquitetura imposta pelas ferramentas: regras de camadas, uma baseline de lint congelada que só pode encolher, verificação de ciclos de dependências e paridade de i18n em cada pull request
  • Live Activities nativas do iOS controladas a partir do Flutter através de uma ponte de method channel
  • Um único fluxo de registo empacotado atrás de um contrato de host e consumido por dois produtos

O que permite

As funcionalidades chegam à web, ao mobile e ao backend numa só alteração, e a plataforma troca dados de clubes com o GymTeam em tempo real.

Provas

  • Resultados ao vivo, eventos de jogo e comentários transmitidos para web e mobile em tempo real
  • Pagamentos através da Finix, com verificadores Stripe, PayPal, Square, LiqPay e Mercado Pago
  • Assistente de IA com 15 ferramentas de domínio, transcrição de voz e media gerados
  • Live Activities no iOS com resultados de jogo ao vivo, uma extensão nativa em torno do Flutter
  • Website
  • App Store
  • Google Play

Stack

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

Próximo caso

GymTeam
Falar sobre um projeto