Coach de corrida com IA: integrei Strava, GPT-4 e n8n via Azure AI Foundry
Conecto três coisas que adoro em um único workflow: automação no n8n, inteligência artificial aplicada e prática esportiva. O resultado é um coach de corrida pessoal que recebe automaticamente cada treino que faço no Garmin, processa os dados com GPT-4 mini e me devolve uma análise personalizada — tudo sem que eu precise abrir um único aplicativo depois do treino.
Neste post mostro a arquitetura, e algumas decisões técnicas que talvez ninguém esteja comentando: por que Azure AI Foundry é mais interessante que API direta da OpenAI para uso comercial, e o gotcha de configuração que me fez bater cabeça por horas.
A arquitetura do workflow
[Strava Trigger] → [Code Node — normaliza dados] → [AI Agent (GPT-4 mini)] → [Output]
Quatro nós, simples na superfície. A mágica está nos detalhes.
1. Strava Trigger
O n8n tem nó nativo de Strava. Você autoriza a app n8n a acessar sua conta Strava, e configura o trigger para "new activity". A partir daí, toda vez que uma atividade chega no Strava, o workflow dispara.
Como funciona o fluxo de dados:
- Você termina o treino no Garmin e aperta "salvar"
- O Garmin sincroniza com Garmin Connect via Bluetooth
- Garmin Connect faz upload pro Strava
- Strava notifica o n8n via webhook
- Workflow dispara
Esse fluxo é independente da plataforma: serve para Apple Watch, Polar, Coros, Wahoo — qualquer dispositivo que sincronize com Strava. Você só precisa do Strava conectado ao seu app principal.
2. Code Node — normalização dos dados
Os dados que vêm do Strava são extensivos: distância, ritmo, frequência cardíaca média e máxima, ganho de elevação, splits, segmentos. Mas em formato JSON com muitos campos aninhados.
O Code Node (JavaScript) extrai e formata só o que importa para o prompt:
return [{
json: {
tipo: $input.first().json.type,
distancia_km: ($input.first().json.distance / 1000).toFixed(2),
duracao_min: ($input.first().json.moving_time / 60).toFixed(1),
ritmo_min_km: calculaRitmoMedio($input.first().json),
fc_media: $input.first().json.average_heartrate,
fc_maxima: $input.first().json.max_heartrate,
elevacao_m: $input.first().json.total_elevation_gain,
data: $input.first().json.start_date
}
}];
Esse pré-processamento reduz drasticamente o custo da chamada de IA — o modelo recebe 200 tokens em vez de 3000.
3. AI Agent — o prompt que faz a diferença
O nó AI Agent envia o JSON normalizado + um prompt customizado para o modelo:
Você é um coach de corrida experiente. Analise este treino e dê:
- Avaliação geral em 1-2 frases
- Pontos positivos (o que foi bem)
- Recomendação para o próximo treino
- Alerta de overtraining se aplicável
Use linguagem direta, profissional, em PT-BR. Máximo 200 palavras.
O modelo retorna uma análise polida, contextual, em português.
4. Output — onde mandar?
No vídeo eu mostrei só o resultado dentro do n8n para validar. Em produção, dá para enviar para:
- WhatsApp (via Twilio ou API oficial)
- E-mail com formatação HTML
- Tabela Notion para construir histórico
- Banco de dados (PostgreSQL) para análises mais avançadas
Recomendo Notion como destino para começar — você ganha histórico, busca, filtros, dashboards visuais sem código.
Por que Azure AI Foundry em vez de OpenAI direto?
Esse é um ponto que a maioria dos tutoriais não cobre. A escolha mais óbvia é usar a API da OpenAI direto (api.openai.com). Funciona, é barato, é simples.
Mas se você está construindo algo que vai além de uso pessoal, Azure AI Foundry (a plataforma de IA da Microsoft que orquestra modelos OpenAI rodando em Azure) tem vantagens importantes:
1. Filtro de conteúdo nativo
Antes do modelo responder, o Azure aplica filtros configuráveis para:
- Violência
- Ódio e discriminação
- Conteúdo sexual
- Auto-mutilação
- Ataques de jailbreak (prompt injection conhecidos)
Você configura a severidade (Low / Medium / High). Imagine que você vende uma solução para uma escola infantil — você ativa filtros agressivos. Para uso pessoal, filtros leves bastam. Esses controles não existem na API direta da OpenAI.
2. Proteção contra prompt jailbreak
Hoje hackers usam várias técnicas para fazer o modelo ignorar seu prompt original e cumprir instruções injetadas (prompt injection direto, indireto via documentos). O Azure AI Foundry tem detecção dessas técnicas nativa, ativável com um clique.
3. Autenticação via Entra ID (Active Directory)
Em vez de gerenciar API keys (que vazam), você pode autenticar a partir de uma identidade gerenciada da Azure. Para ambientes corporativos com Entra ID já em produção, essa integração é gold.
4. Compliance e governança
Azure tem certificações que importam para empresas reguladas (HIPAA, SOC 2, ISO, FedRAMP). OpenAI direto não cobre todas elas. Se você vai vender automações para clientes corporativos, Azure AI Foundry resolve o checklist de compliance.
5. Preço comparável
Para modelos populares (GPT-4 mini), o preço por 1M tokens é praticamente idêntico ao da OpenAI:
- GPT-4 mini input: ~US$ 0,15/1M tokens
- GPT-4 mini output: ~US$ 0,60/1M tokens
Para meu coach de corrida, cada análise consome ~500 tokens. Mesmo treinando 6 dias/semana, isso são alguns centavos por mês.
O gotcha que me fez bater cabeça
Configurar o nó de chamada ao Azure AI Foundry no n8n exige três campos:
- API Key
- Endpoint (URL base)
- API Version
O detalhe: você não cola o endpoint completo. Você precisa separar o domínio da query string.
A página do Azure mostra algo assim:
https://seu-recurso.openai.azure.com/openai/deployments/gpt-4-mini/chat/completions?api-version=2025-01-01-preview
No n8n, você cola apenas:
https://seu-recurso.openai.azure.com
E o api-version=2025-01-01-preview vai no campo separado de API Version.
O segundo gotcha — versão da API errada na documentação
Eu fiquei batendo cabeça por bastante tempo porque a documentação da Microsoft mostra uma versão antiga da API no exemplo de configuração:
api-version=2024-12-01-preview ← documentação (errado)
api-version=2025-01-01-preview ← URL real do deployment (certo)
A versão do exemplo da documentação não funcionava — dava erro genérico de autenticação. A versão correta está no link do deployment do seu modelo, na seção models and endpoints do portal Azure AI Foundry.
Dica: sempre pegue API version do deployment do seu modelo específico, não do exemplo genérico da documentação.
Custos reais do meu coach
Para uma semana típica de treino (6 atividades):
| Item | Custo |
|---|---|
| n8n self-hosted (VM Azure) | ~US$ 10/mês |
| GPT-4 mini (Azure AI Foundry) | ~US$ 0,05/mês |
| Strava (free tier) | US$ 0 |
| Notion (free tier) | US$ 0 |
| Total | ~US$ 10/mês |
Para uma assessoria esportiva com 100 alunos, com média de 5 treinos/semana cada:
- 100 × 5 × 4 = 2.000 análises/mês
- ~1M tokens consumidos
- Custo IA: ~US$ 1-2/mês
Esse é o tipo de margem que torna serviços baseados em IA economicamente absurdos quando bem arquitetados.
O que fazer agora — para construir o seu
1. Pré-requisitos
- Conta Strava conectada ao seu dispositivo (Garmin, Apple Watch, etc.)
- n8n self-hosted ou cloud
- Conta Azure com subscription (ou OpenAI direto se você não precisa dos controles enterprise)
2. Conta Azure AI Foundry
- Crie um recurso Azure OpenAI na sua subscription
- Faça deployment de um modelo (recomendo GPT-4 mini por custo-benefício)
- Anote: API Key, Endpoint, API Version (do deployment, não da documentação genérica)
3. Workflow no n8n
- Strava Trigger com sua autenticação
- Code Node que extrai e formata os dados do treino
- AI Agent apontando para Azure OpenAI com o prompt customizado
- Destino (Notion / e-mail / WhatsApp / Slack)
4. Refinamento
- Comece com prompt simples
- Aumente sofisticação aos poucos (adicionar contexto de treinos anteriores via memória, comparação com plano de treino, alertas de overtraining)
5. Próximos passos
Se você gostou desse conceito, dá para extrapolar:
- Coach nutricional — integração com MyFitnessPal + IA
- Coach de sono — dados do anel Oura ou Apple Watch + análise
- Coach financeiro — extratos bancários (com cuidado de segurança!) + IA para insights
O coach esportivo é só o primeiro exemplo. A arquitetura dispositivo → app → automação → IA → dashboard funciona para qualquer área de vida quantificada.
Este artigo foi gerado a partir do meu vídeo no YouTube. Assista a versão completa para ver o workflow disparando ao vivo após um treino e a navegação no portal Azure AI Foundry.
Prefere vídeo?
Assistir no YouTubePosts relacionados
Analisei 100 mil comentários da Copa 2026 com Python + YouTube API — e o sistema roda SEM IA
Em uma única maratona de 24h com Claude Code (230M tokens), construí um pipeline que coleta 100 mil comentários de 3 canais do YouTube por dia, classifica sentimento por país e gera um dashboard ao vivo da Copa 2026. A sacada: usei IA pra construir, mas o sistema operacional roda sem IA — economia de US$ 300/mês.
A Apple apostou trilhões na WWDC 2026 — e quase ninguém percebeu a jogada real
Enquanto todo mundo discutia se a Siri ficou mais esperta no WWDC 2026, a Apple anunciou silenciosamente uma reestruturação que pode valer trilhões: terceirizou o modelo de IA para o Google, mas vai ser dona da camada onde a IA encontra a sua vida. Veja a leitura cínica e brilhante da jogada.
Claude Fable 5 morto pelos EUA: o dia em que o governo americano apertou o botão de pausa na IA
Sexta-feira, 12 de junho de 2026, 17h21. Anthropic abre carta do governo americano e em horas o modelo de IA mais avançado do planeta sai do ar — inclusive para os próprios funcionários da empresa. Não foram chineses nem russos. Foi um jailbreak publicado três dias antes que mudou tudo.