DSDiego Salles
← Todos os projetos
Case secundárioEm desenvolvimentoProjeto privado

Ginga (VisionPitch)

Plataforma de treinamento e análise de futebol com IA de borda

Ecossistema para atletas e clubes que combina visão computacional no dispositivo, análise biomecânica, gamificação e gestão de talentos, com foco em privacidade e operação offline.

PythonFastAPITypeScriptReactReact NativeExpoKotlinTensorFlow LiteMediaPipeOpenCVPostgreSQLpgvectorRedisDockerWebRTC
01

Visão geral

O Ginga é uma plataforma de treinamento e análise de futebol que roda IA diretamente no celular para avaliar chutes, movimentos e desempenho físico. O núcleo de análise é determinístico e testado, com modelos leves (MoveNet para pose e EfficientDet-Lite0 para bola) executados em tempo real via react-native-vision-camera e react-native-fast-tflite, sem enviar vídeo ou frames para servidores. Além da análise de chute, o sistema cobre um ecossistema completo: conquistas compartilháveis, missões validadas por IA, proteção para menores, gestão de clubes por slots, scouting e Talent Network. A arquitetura é organizada em pacotes TypeScript independentes (biomechanics-core, dtw-engine, achievement-rules-core, edge-shot-analysis) e um backend Python (FastAPI) com workers assíncronos, banco PostgreSQL com pgvector e armazenamento de objetos. O app mobile é construído em Expo com development build para acesso a módulos nativos de câmera e ML, enquanto os dashboards web (React/Vite) oferecem backoffice administrativo e painel do atleta. A infraestrutura é containerizada com Docker Compose, incluindo API, signaling WebRTC, realtime-ai, MinIO e Redis.

A dor

Atletas de base e clubes carecem de ferramentas acessíveis para avaliação técnica objetiva e acompanhamento de evolução, enquanto soluções tradicionais exigem hardware caro, enviam dados sensíveis para a nuvem e não se adaptam à realidade de conectividade limitada.

A solução

O Ginga leva a análise biomecânica para o dispositivo do atleta, usando modelos de IA leves e processamento local para medir chutes, movimentos e métricas de desempenho em tempo real. A plataforma integra conquistas, missões e compartilhamento social, além de um backoffice para clubes e olheiros, tudo com privacidade por padrão e suporte a operação offline.

02

Abordagem de engenharia

01

Núcleo determinístico e testado

As regras de negócio críticas (biomecânica, DTW, conquistas) são implementadas como funções puras em pacotes TypeScript, com testes unitários, garantindo previsibilidade e facilidade de auditoria.

02

Inferência de borda com modelos leves

Modelos de pose e detecção de bola são executados no frame processor do celular, com pós-processamento local para cálculo de métricas e feedback imediato, sem dependência de rede.

03

Backend assíncrono e orientado a eventos

A API FastAPI gerencia uploads, jobs em Redis e workers para processamento pesado (vídeo, relatórios), com retry, dead-letter e callbacks internos autenticados.

04

Privacidade e proteção de menores por design

O sistema implementa consentimentos granulares, processamento local para menores, anonimização e controles de visibilidade, com trilhas de auditoria e conformidade LGPD.

05

Ecossistema de engajamento e compartilhamento

Conquistas, cards compartilháveis e missões são gerados a partir de regras determinísticas, integrados a templates de marca e métricas de share, promovendo crescimento orgânico.

03

O que o projeto entrega

  • Análise de chute 100% no dispositivo com MoveNet e EfficientDet-Lite0
  • Pacotes TypeScript independentes e testados para biomecânica, DTW e conquistas
  • Backend FastAPI com workers assíncronos e filas Redis
  • Proteção de menores com processamento local e consentimento granular
  • Modelo de clube baseado em slots, sem propriedade da conta do atleta
  • Dashboards web para atletas e administração
04

Arquitetura e desafios técnicos

Arquitetura em camadas do Ginga

Plataforma de análise de futebol com IA de borda no celular, núcleo de domínio determinístico em TypeScript, backend assíncrono em Python e dashboards web para atletas e clubes.

Renderizando diagrama...

Desafios técnicos

IA de borda vs. precisão na nuvem

Contexto

A análise de chute precisa ser imediata e funcionar em campo com conectividade instável, mas modelos pesados de visão computacional exigem recursos que o celular não tem.

Decisão

Executar modelos leves (MoveNet e EfficientDet-Lite0) diretamente no frame processor do dispositivo, com pós-processamento local para métricas biomecânicas, eliminando a dependência de rede e preservando a privacidade.

Trade-off

A precisão dos modelos leves é inferior à de modelos maiores em nuvem; para mitigar, o núcleo de análise é determinístico e testado, e o sistema pode complementar com processamento assíncrono no backend quando o vídeo é enviado.

Fila Redis para jobs assíncronos

Contexto

O backend precisa processar tarefas pesadas (vídeo, relatórios) sem bloquear a API, mas o volume e a complexidade não justificam uma infraestrutura de mensageria dedicada como Kafka.

Decisão

Usar Redis como fila de jobs, com workers assíncronos consumindo tarefas e mecanismos de retry e dead-letter para resiliência.

Trade-off

Redis oferece menor durabilidade e garantias de entrega em comparação a brokers especializados; a mitigação inclui retry, dead-letter e callbacks internos autenticados para confirmar o processamento.

Núcleo determinístico em TypeScript

Contexto

As regras de negócio críticas (biomecânica, DTW, conquistas) precisam ser previsíveis, auditáveis e reutilizáveis entre mobile, web e backend.

Decisão

Implementar essas regras como funções puras em pacotes TypeScript independentes, com testes unitários, garantindo consistência e facilidade de evolução.

Trade-off

A separação em pacotes adiciona overhead de manutenção e versionamento; em contrapartida, permite evolução independente de cada domínio e reuso entre plataformas.

Privacidade e proteção de menores por design

Contexto

Dados de atletas, especialmente menores, são sensíveis e exigem conformidade com LGPD, mas a plataforma precisa de dados para análise e scouting.

Decisão

Processar localmente no dispositivo para menores, implementar consentimentos granulares, anonimização e controles de visibilidade, com trilhas de auditoria.

Trade-off

O processamento local limita a capacidade de análise centralizada e de modelos que se beneficiariam de dados agregados; a mitigação é oferecer análise complementar apenas com consentimento explícito e anonimização.

Backend assíncrono com FastAPI e workers

Contexto

A API precisa lidar com uploads e processamento pesado sem comprometer a responsividade, mantendo a simplicidade operacional.

Decisão

Adotar FastAPI para a API e workers assíncronos para tarefas pesadas, com Redis como fila e callbacks internos autenticados para coordenação.

Trade-off

A arquitetura assíncrona adiciona complexidade de coordenação e observabilidade; a mitigação inclui retry, dead-letter e callbacks autenticados para rastreabilidade.

05

Resultados

Métricas de velocidade da bola, ângulo do joelho e inclinação do tronco calculadas no dispositivo

Análise de chute

Pacotes independentes para biomecânica, DTW, conquistas, eventos de borda e análise de chute

Cobertura de domínio

Processamento local para menores e consentimento granular implementados

Privacidade

Modelo de slots com faturamento e controle de acesso

Gestão de clubes

06

Stack

PythonFastAPITypeScriptReactReact NativeExpoKotlinTensorFlow LiteMediaPipeOpenCVPostgreSQLpgvectorRedisDockerWebRTC
07

Temas

#Edge AI#Visão Computacional#Biomecânica#Futebol#Privacidade#LGPD#React Native#FastAPI

Vamos conversar sobre a próxima oportunidade.

Infraestrutura, IA aplicada, mobile/edge ou integrações críticas — se o desafio exige profundidade, me conte o contexto.