Bohemian Gym

Empresa
Iniciativa de produto
Periodo
2024 – Presente
Local
Internacional
Categoria
Principal

Resumo

Bohemian Gym é um app de treino para atletas e academias. O atleta monta as próprias rotinas, e o app conduz a sessão enquanto ela acontece (rounds de combate, sino de descanso com audio ducking, recuperação de sessão, RPE retroativo) e transforma o histórico em recomendações de sobrecarga progressiva. Cada academia recebe builds white-label, papéis próprios e um fluxo treinador-atleta. São 5 flavors em Flutter (atleta, treinador, manager, consumidor e console) sobre um core offline-first compartilhado, com uma API NestJS 11 + MongoDB e um assistente com Gemini.

Pontos-chave

  • Sessões conduzidas pelo appExecução de sessão em tempo real como moat de produto vs competidores tipo Excel com UI

    Diferencia o Bohemian Gym de competidores de log-after-the-fact (Strong, Hevy, Jefit) ao conduzir a sessão de treino em si: combat rounds com timer de descanso, sino em background com audio ducking, e modelo PendingSet para acompanhamento em progresso.

  • Nenhum dado perdido na interrupçãoContinuidade sem perda de dados frente a interrupcao, background ou crash

    Recuperou sessões de treino interrompidas através de snapshot do cubit e restoreFromSnapshot, de modo que uma sessão interrompida nao perde dados e o usuario continua onde parou.

  • Cinco flavors, white-label por academia5 flavors a partir de 1 codebase com builds white-label por academia

    Atende 5 flavors (atleta, treinador, manager, consumidor e console) a partir de um único monorepo Flutter, com builds white-label por academia (slug da academia mapeado para applicationId / bundle id) e papéis que cada academia define com role bindings e audiências por app.

  • Fluxo de convite coach-atletaWorkflow coach-atleta entregue sobre codigos de convite

    Habilitou colaboracao coach-atleta através de codigos de convite e fluxo de atribuicao (aceitar, rejeitar, revogar, pendente), dashboard de atribuicao de rotinas e biblioteca compartilhada de exercicios e sistemas.

  • Auth e sync reforçadosSeguranca production-grade e sync v2 offline-resiliente

    Fortaleceu autenticacao e sincronizacao de dados para produção através de hashing de senha no cliente, rotacao de refresh com detecção de reuso, snapshot backup, detecção de drift e UI de resolucao de conflitos.

  • Assistente de IA reforçadoAssistente IA in-product endurecido com taxa de ataque verificada em 0%

    Embutiu um assistente IA sobre Gemini no app (Assistant v2) com chat polimorfico, controles de budget e endurecimento contra prompt injection em 7 camadas de defesa (0% ASR no baseline de benchmark Spikee).

  • Motor de sobrecarga progressivaMotor de sobrecarga progressiva diferencia de apps de apenas logging

    Impulsionou progresso real de forca através de inteligencia de sobrecarga progressiva: rastreia metricas de levantamento entre sessões e recomenda ajustes de peso / repeticoes baseados em historico de volume e intensidade, em vez de deixar o atleta adivinhando.

  • API NestJS 11 sobre MongoDB13 módulos de negócio, 45 arquivos spec com cerca de 470 casos Jest, e testes de integração com Supertest e mongodb-memory-server

    Construiu a API em NestJS 11 + MongoDB (Mongoose): login com JWT e com Google, throttling, Swagger, tracing com OpenTelemetry e um assistente Gemini que transmite por SSE com modelos de fallback e orçamento de tokens. O deploy sai como imagem Docker em bohemian.accentio.dev pelo Statio, a ferramenta de deploy criada por ele.

  • Marionette nos cinco flavorsUm agente MCP dirige os 5 flavors em builds de debug

    Conectou um binding do Marionette nos builds de debug dos 5 flavors, fora do release por tree-shaking, e uma config que ensina ao driver os componentes do design system, para um agente MCP ler o rótulo de cada botão em vez de um nó vazio.

  • Guia de código travado por testes20 testes de arquitetura rodam com a suíte

    Escreveu o guia de código do projeto (um CLAUDE.md de 2.300 linhas) e o travou com 20 testes de arquitetura, como a pureza de imports do design system e o grafo de imports do console.

  • CI até o Firebase App DistributionCerca de 1.360 casos de teste Flutter em 158 arquivos

    Publica o app com GitHub Actions e Fastlane no Firebase App Distribution: a chave de assinatura vem do GCP Secret Manager via OIDC e o pipeline confere o assinante do APK.

Stack

  • Flutter
  • Dart
  • BLoC / Cubit
  • ObjectBox
  • go_router
  • Dio
  • Freezed
  • NestJS
  • MongoDB
  • Mongoose
  • JWT
  • Google Sign-In
  • Gemini API
  • OpenTelemetry
  • Docker
  • GitHub Actions
  • Fastlane
  • Firebase App Distribution
  • White-label
  • Multi-tenant
PREPARADO PARA
  • Leitores de tela
  • Agentes LLM
  • Parsers ATS
  • Responsivo
  • Carga rapida
alvaro-bash --project bohemian-gym --locale brEXIT 0v1.0.0· — · São Paulo · Brasil
ABRIR TERMINAL