Eu Criei uma IA Que Lê Meus Dados de Recuperação Toda Manhã — Veja o Que Ela Realmente Gera
Passei uma semana construindo um sistema personalizado de inteligência fitness no OpenClaw que extrai dados de seis fontes e gera uma recomendação de treino matinal antes de eu acordar. Veja a saída real, a lógica de decisão e o que aprendi rodando isso diariamente.
Por Que Eu Construí Isso
O problema parece simples: eu tenho dados demais de dispositivos demais que não se comunicam entre si.
WHOOP 5.0, Garmin Forerunner 265S, 8Sleep Pod, Speediance Gym Monster 2S — além do rastreamento de calorias pelo Chronometer. Cada dispositivo vive em seu próprio aplicativo, seu próprio ecossistema, seu próprio jardim murado. O Speediance não tem um aplicativo web. O Tonal também não tinha. O aplicativo web do WHOOP ficou progressivamente pior nos últimos dois anos. Nenhum deles foi projetado para conversar com os outros de forma significativa.
Então acabei fazendo o que sempre faço com problemas de dados: construí algo.
Cerca de uma semana rodando o OpenClaw em um Mac M3 Ultra que eu tinha parado juntando poeira, eu tinha um sistema de inteligência fitness funcional que puxa dados de seis conectores e gera dois relatórios: um relatório matinal que me diz o quanto eu devo treinar pesado, e um relatório noturno que avalia como foi o dia. Ambos são publicados automaticamente em um dashboard hospedado (GitHub Pages) que eu posso consultar de qualquer lugar.
A Stack
Hardware: Mac M3 Ultra como host do agente base. A ARIA cuida do dashboard de fitness e coordena os dados de múltiplos conectores.
Modelos: Orquestração primária através do MiniMax (~$10/mês), que é confiável e lento o suficiente para delegar tarefas adequadamente sem estourar o orçamento. Quando preciso de força bruta — trabalho de integração em múltiplas etapas, debugging, construção de novos conectores — eu alterno para modelos hospedados como o Claude (Anthropic) sob demanda. Para a geração rotineira de relatórios diários, o plano mais barato dá conta.
Conectores (6 ativos):
- WHOOP API (score de recuperação, HRV, dados de sono, strain)
- Garmin Connect (dados de atividade — corridas, zonas de FC, pace, carga de treino)
- Speediance (via o endpoint de API não oficial da comunidade do Reddit — puxa dados de treinos concluídos incluindo volume, detalhamento de exercícios e estimativas de 1RM)
- 8Sleep (score de sono, temperatura, HRV do Pod)
- Chronometer (dados de calorias e macros)
- Apple Health (camada de ponte que permite que os dados de calorias do Speediance cheguem ao WHOOP para cálculo preciso de strain)
O conector do Speediance é o que as pessoas mais perguntam. Não existe uma API oficial. Alguém na comunidade do Reddit publicou o endpoint que retorna seus dados de treinos concluídos. O OpenClaw encontrou, eu apontei para a URL, e em poucos minutos ele estava baixando meu histórico de treinos e injetando no dashboard. O fluxo inteiro — baixar o gerenciador não oficial do Speediance, descompilá-lo, identificar o endpoint de dados, construir um conector — levou menos tempo do que eu levaria para fazer tudo manualmente.
Como o Relatório Matinal Se Parece na Prática
Aqui está a saída real de 11 de fevereiro de 2026 — o dia de recuperação 18% WHOOP:
RELATÓRIO MATINAL DE FITNESS — 11 de fevereiro de 2026
Fontes de dados: WHOOP, Garmin, 8Sleep, Speediance, Chronometer
Resumo da Recuperação:
- Recuperação WHOOP: 18% 🔴
- HRV: 18.7ms (abaixo da linha de base de 7 dias)
- Sono Total (WHOOP): 3.5h
- Pontuação 8Sleep: 61/100
- Esforço WHOOP do dia anterior: 11.6
Carga de Treinamento (Últimos 7 dias):
- Volume Speediance: 94.280 lbs
- Corridas registradas: 4 sessões, 8.9 milhas
- Sessão de maior intensidade: corrida anaeróbica de 8 de fevereiro
⚠️ Alertas:
- Dívida de sono detectada (>2h abaixo da linha de base)
- Ingestão calórica ontem: 792 kcal (déficit estimado de ~800 kcal vs. manutenção)
- Risco de lesão elevado: privação aguda de sono + déficit calórico
Recomendação: Recuperação Ativa Confiança: 77.8% | Pontuação Ponderada: 55.65
Raciocínio: A HRV está deprimida em relação à linha de base móvel. A dívida de sono é o principal impulsionador — 3.5h é clinicamente insuficiente para a recuperação neuromotora. O déficit calórico agrava a supressão da recuperação. O esforço anterior de 11.6 foi moderado e normalmente sustentaria uma sessão leve, mas a combinação dos três inputs negativos (sono, calorias, HRV) desloca a recomendação para apenas Recuperação Ativa. Uma corrida leve na Zona 1 de 20–30 minutos é aceitável. Speediance Warrior 1 com carga de trabalho: não recomendado hoje. BJJ: não recomendado (risco de tempo de reação degradado).
Essa é a saída real. Não é um "descanse hoje" genérico — é uma recomendação fundamentada com os inputs específicos destacados, o nível de confiança exibido, e a chamada de BJJ feita explicitamente porque o sistema sabe que eu pratico jiu-jitsu e que BJJ tem um perfil de risco de lesão diferente de uma sessão de musculação.
O número de confiança 77.8% importa. Quando a confiança é menor — digamos, 55% — eu investigo quais sinais estão conflitantes. Neste caso, o esforço do dia anterior não foi alto o suficiente para exigir descanso de forma independente, mas os três outros sinais negativos o superaram. O modelo mostra seu trabalho.
O Relatório Noturno
O relatório noturno é executado depois que tive tempo de registrar as atividades do dia. Ele avalia:
- O treinamento correspondeu à recomendação matinal?
- Qual foi o esforço WHOOP realmente acumulado?
- Volume de Speediance se houve uma sessão de musculação
- Fechamento calórico a partir do Chronometer
- Quaisquer novos PRs de 1RM do Speediance
- Dados de corrida do Garmin, se aplicável
Ele é postado no mesmo dashboard. Com o tempo, posso voltar e verificar se segui as recomendações matinais e qual foi o resultado — eu sobrepus um dia vermelho e me senti pior dois dias depois?
Eu treinei em um dia amarelo e publiquei um PR? O conjunto de dados se transforma em algo útil.
O Que Realmente Aprendi Construindo Isso
Eu esperava que isso levasse semanas. Levou cerca de uma semana de noites. A maior parte disso foi a configuração inicial no M3 Ultra e a construção do primeiro conector funcional. Uma vez que OpenClaw teve um conector funcionando, construir o próximo foi mais rápido. Quando tinha os dados, construir a camada de visualização foi ainda mais rápido.
As partes frustrantes: os modelos gratuitos (Google AI Studio, Nvidia Kimmy K2.5) cometem erros graves em cargas de trabalho complexas com várias etapas. O modelo do Google uma vez excluiu seus próprios arquivos de configuração principais ao executar um git clean no escopo errado. O da Nvidia é mais rápido quando funciona e completamente silencioso quando não funciona. Para construir e depurar, nada se compara ao Claude com uma chave de API adequada — mas isso consome tokens rapidamente. A solução na qual cheguei foi: Miniax para execuções agendadas diárias, Claude sob demanda quando estou ativamente construindo algo novo.
O pipeline de dados do Speediance exigiu o máximo de paciência. O endpoint não oficial não é documentado. O agente teve que inspecionar as requisições de rede do aplicativo gerenciador não oficial do Speediance, identificar o endpoint correto, descobrir o padrão de autenticação e construir um conector que lide com a paginação corretamente. Ele fez tudo isso. Eu observei ele trabalhar nisso nos logs. Naquele momento — vê-lo puxar com sucesso 125 treinos concluídos com detalhamentos completos dos exercícios — foi quando entendi por que as pessoas descrevem essa tecnologia como genuinamente diferente de tudo que veio antes.
O Panorama Geral
Eu trabalho com tecnologia de fitness há anos. Tive um Microsoft Band antes do Apple Watch existir. Usei todas as gerações do WHOOP. Possuí Tonal. Possuí dois Speediances. Rastreiei calorias em todos os aplicativos que já existiram nesse espaço.
O que este sistema faz que nenhum outro fez é colocar todos esses dados no mesmo lugar e deixar algo com capacidade real de raciocínio analisá-los em conjunto. Não um painel de widgets desconectados. Um agente que pode observar minha tendência de HRV, meu volume de musculação da semana passada, minha ingestão calórica e meus dados de sono simultaneamente e fazer uma avaliação que leve tudo isso em conta.
É perfeito? Não. O pipeline de dados de calorias ainda está bagunçado — estou construindo uma ponte com o Apple Health para dados do Snap Cow da minha viagem recente. O conector do Speediance ocasionalmente perde um treino se a API não oficial der timeout. O problema de strain do BJJ é real: o WHOOP consegue detectar que uma sessão de jiu-jitsu elevou minha frequência cardíaca, mas não consegue avaliar o componente neuromotor e de fadiga de preensão como um treinador experiente faria.
Mas em 11 de fevereiro, quando me disse 18% recovery, 77.8% confidence, Active Recovery — estava certo. E me disse antes mesmo de eu ter saído da cama.
Essa é a versão de tecnologia de fitness que venho tentando construir desde que comecei a acompanhar essas coisas. Bastou a plataforma certa para tornar isso possível.