Pular para o conteúdo principal
Voltar para os cases
product3 min de leitura

Fit Tracker: IA multimodal num app em produção

Meu papel e responsabilidade

Criador: produto, desenvolvimento e publicação.

Next.js 16React 19TypeScriptTailwind CSSPrismaSupabaseClaude APIAndroid TWA

Problema

A maioria dos aplicativos de dieta e treino falha por causa do atrito diário: registrar cada alimento manualmente em tabelas extensas ou montar progressões de treino exige tempo e disciplina que o usuário comum abandona nas primeiras semanas.

A proposta do Fit Tracker foi reduzir esse atrito usando IA multimodal — permitindo que o usuário registre uma refeição por foto, áudio ou texto livre e receba treinos personalizados — sem transformar o app em um produto inviável financeiramente por causa do custo variável de chamadas a LLMs.

Restrições

  • Unit economics de IA: chamadas multimodais (especialmente análise de imagem e modelos mais capazes) têm custo variável por uso; um plano único com modelo pesado ilimitado quebraria a margem do produto.
  • Experiência mobile sem dobrar a base de código: era preciso estar disponível tanto na web quanto na Google Play Store mantendo um único ciclo de entrega rápido.
  • Confiabilidade de dados nutricionais e financeiros: o app lida com contas de usuários, histórico de treinos/dietas, assinaturas e webhooks de pagamento em produção.

Decisão

Trade-off

Chosen

Next.js PWA empacotado com Android TWA (Bubblewrap) + escolha explícita de modelo por plano

Discarded alternative

Apps nativos separados (Kotlin/Swift) com modelo de IA fixo no backend

O TWA elimina a duplicação de UI e regras de negócio mantendo Google Play Billing e notificações push, e o seletor de modelo alinha margem e expectativa de latência.

Pipeline multimodal do Fit Tracker
  1. Entrada (Foto, Áudio ou Texto)
  2. Seleção de Tier (Haiku / Sonnet / Opus)
  3. Claude API (Análise estruturada)
  4. Persistência Prisma + Supabase
  5. Web + Android TWA (Google Play)
  1. Stack única e produtiva: aplicação full-stack construída em Next.js 16 + React 19 + TypeScript, estilizada com Tailwind CSS, persistência com Prisma + PostgreSQL (Supabase) e deploy na Vercel.
  2. Nível de raciocínio escolhido pelo usuário: em vez de esconder o modelo, o produto permite ao usuário escolher o nível de "pensamento" da IA (Haiku, Sonnet ou Opus via Claude API), alinhando diretamente a profundidade da análise e o custo do modelo ao plano contratado.
  3. Entrega mobile via Android TWA (Trusted Web Activity): empacotamento do PWA com Bubblewrap e integração com Google Play Billing, permitindo publicar na Play Store com recursos nativos (atalhos e notificações push) sem manter um segundo código em Kotlin/Swift.
  4. Cobertura de testes de ponta a ponta: suíte com Vitest (unitário e integração) e Playwright (E2E) para proteger fluxos críticos antes de cada release.

Resultado

  • Produto em produção em fittracker.com.br e publicado na Google Play Store.
  • Fluxo multimodal funcional em produção (registro de refeições por foto, áudio ou texto e geração/acompanhamento de treinos).
  • Modelo de custo previsível por tier de uso, conectando a escolha de modelo de IA diretamente à receita do assinante.

O que aprendi

  • Em produtos com IA, arquitetura também é modelo de negócio: expor a escolha de capacidade (Haiku/Sonnet/Opus) resolve simultaneamente expectativa do usuário e controle de margem.
  • Distribuição importa tanto quanto código: publicar via TWA exigiu lidar com assinatura de chaves, manifestos, validação de origem e fluxo real de loja — experiência que muda a forma como se projeta um produto web desde o início.
  • Testes automatizados dão velocidade a quem trabalha solo: com uma suíte de integração e E2E confiável, é possível iterar diariamente em produção com segurança.