RunPlan gera planos de treino de corrida periodizados e cientificamente embasados a partir do seu objetivo de prova, nível e disponibilidade, sincronizados com o Strava. Um motor determinístico garante que a progressão de volume seja sempre segura; a mesma IA usada no Aura Run (Gemini/Groq) revisa o plano como um treinador revisaria um rascunho — nunca inventa números, só analisa e personaliza.
A maioria dos apps de corrida "com IA" pede pra um modelo de linguagem inventar uma planilha de treino do zero — e LLMs são notoriamente ruins em aritmética consistente ao longo de várias semanas (datas erradas, saltos de volume perigosos, progressão sem lógica). O RunPlan separa as duas responsabilidades:
- Motor determinístico (
src/lib/planEngine.ts) calcula datas, volumes e progressão — sempre correto, sempre auditável, sempre seguro. - IA entra só onde IA é boa de verdade: julgamento, personalização e comunicação — revisando o plano já calculado e escrevendo uma devolutiva real de treinador.
Gera um plano completo (4 a 26 semanas) seguindo regras reais de periodização esportiva:
- Progressão de volume limitada a ~8%/semana (versão conservadora da "regra dos 10%") — nunca estica o plano até uma meta ideal se o prazo não permitir com segurança.
- Treino longo com progressão própria, independente do volume dos outros dias — é ele que define se o atleta completa a distância da prova, então cresce mais rápido (aditivo, ~2km/semana) enquanto os dias de apoio sobem de forma conservadora. Validado contra os planos de meia maratona mais usados do mundo (Hal Higdon): pico de longão entre 76% e 90% da distância da prova, igual aos programas Novice/Intermediate dele.
- Semana de descarga a cada 4 semanas (padrão 3:1) sem travar a tendência de crescimento das semanas seguintes.
- Fases de treino (base → construção → pico → polimento) que ajustam intensidade e tipos de treino ao longo do plano.
- Avaliação transparente: se o prazo é curto demais pro volume ideal, o app avisa e explica como abordar a prova com segurança, em vez de fingir que está tudo certo.
Depois do motor calcular o plano, a IA revisa como um treinador revisaria um rascunho:
- Avalia se o volume de pico é adequado pra distância da prova.
- O atleta pode contar contexto livre no onboarding (lesão, restrição, objetivo específico) e a IA incorpora isso na devolutiva com conselho prático — não um texto genérico.
- Cada treino individual recebe um resumo gerado por IA explicando o objetivo e como executá-lo.
Cada sessão de força (corpo inteiro / pernas e core / mobilidade) traz 6 exercícios específicos pra corredor, com séries/repetições, dica de execução e ícone ilustrativo — sem equipamento, foco em prevenção de lesão (glúteo, core, panturrilha, mobilidade de quadril).
Faixa semanal colorida por tipo de treino, dia de descanso dedicado, visão geral da semana, calendário semanal/mensal com opção de redefinir uma semana específica, e vínculo automático com atividades do Strava pra marcar treinos como concluídos.
Funciona como app instalável direto do navegador (Android/iOS), com ícone próprio e tela cheia sem barra de navegador.
| Camada | Tecnologia |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| Linguagem | TypeScript (strict) |
| Estilização | Vanilla CSS com CSS Modules |
| Banco de dados | Supabase (Postgres) |
| IA | Google Gemini & Groq — fallback automático entre provedores |
| Integração | Strava OAuth 2.0 |
| Deploy | Vercel |
- Node.js 18+
- Uma conta no Strava Developers para as credenciais de API
- Um projeto no Supabase
- Chave de API do Groq ou Google AI Studio
git clone https://github.com/XandyGomes/runplan.git
cd runplan
npm installCopie .env.local.example para .env.local e preencha as chaves. Depois rode supabase/schema.sql no SQL Editor do seu projeto Supabase para criar as tabelas.
npm run devDetalhes de configuração mais avançados (reaproveitar credenciais entre projetos, variáveis na Vercel) estão em DEVELOPMENT.md.
Dark mode com paleta verde-água → azul, cards em glassmorphism e cores dedicadas por tipo de treino (leve, intervalado, longão, força, prova) — a mesma linguagem visual usada no calendário, no card do dia e no ícone do app.
Xandy Gomes - Inovação e Performance
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
