# Fontes das demonstrações · consulta em 31/10/2026

MyWorkout é um aplicativo pessoal, não comercial, sem analytics. Metadados são armazenados no navegador; mídias de terceiros não são empacotadas nem convertidas para base64.

## ExerciseDB / AscendAPI

Documentação consultada: https://oss.exercisedb.dev/docs
OpenAPI obtido do caminho declarado nessa página: https://oss.exercisedb.dev/swagger

A documentação permite projetos pessoais e não comerciais, exige crédito à AscendAPI e descreve GIFs em 180p. Uso comercial ou monetizado requer outro plano. Não há garantia de gratuidade permanente, disponibilidade ou licença irrestrita para redistribuir o catálogo. Este app apenas referencia URLs fornecidas pela API. Não espelha os GIFs.

Endpoint usado: GET https://oss.exercisedb.dev/api/v1/exercises
Parâmetros verificados no OpenAPI: name, equipments, targetMuscles, bodyParts, secondaryMuscles, limit (1–25), after e before. Há também GET /api/v1/exercises/search?search=...&threshold=... e GET /api/v1/exercises/{exerciseId}. Não são necessários tokens. As consultas desta implementação usam o primeiro endpoint; os outros foram investigados.

Em 31/10/2026, as consultas retornaram HTTP 200 e Access-Control-Allow-Origin: *. A documentação menciona limites rígidos, sem publicar uma cota numérica. Os headers observados não anunciaram a cota. Não foi provocado um teste de esgotamento. Em 429, o app mostra erro, oferece consulta local/cache e permite tentar novamente. Busca tem debounce de 300 ms, cancelamento e timeout de 12 s. Cache: até 30 consultas, sete dias e aproximadamente 450 KB de JSON; cache pode ser descartado para preservar os treinos.

URL real validada: https://static.exercisedb.dev/media/NbVPDMW.gif (HTTP 200, image/gif). Os demais IDs abaixo foram lidos em respostas reais e as URLs não foram inventadas. A origem pode mudar ou remover mídia; o app mostra instruções e erro quando isso acontece.

Correspondências exatas:
- Rosca bíceps: NbVPDMW — dumbbell biceps curl.
- Remada curvada: BJ0Hz5L — dumbbell bent over row.
- Elevação lateral: DsgkuIt — dumbbell lateral raise.
- Tríceps acima da cabeça: PdmaD0N — dumbbell standing triceps extension; um halter segurado com as duas mãos, carga total.
- Peso morto romeno: rR0LJzx — dumbbell romanian deadlift.
- Ponte de glúteos: u0cNiij — low glute bridge on floor.
- Elevação de panturrilha: bJYHBIN — bodyweight standing calf raise.

## Movimentos sem correspondência exata no ExerciseDB

Os três movimentos originais foram preservados. Nenhum foi trocado silenciosamente.

Supino no chão: wger #1084, Dumbbell Floor Press, consulta real a https://wger.de/api/v2/exerciseinfo/. Demonstração em vídeo: https://uk.physitrack.com/home-exercise-video/dumbbell-floor-press . A página foi verificada e tem o título “Dumbbell floor press (exercise video)”.

Bird dog: wger #1572, Bird Dog. Demonstração em vídeo: https://www.columbiadoctors.org/health-library/multimedia/how-do-bird-dog-exercise/ . Página verificada no Browser, com título “How to Do the Bird Dog Exercise” e player de vídeo.

Agachamento até cadeira: identificador local myworkout:chair-squat, sem um ID externo exato. Demonstração alternativa: https://uk.physitrack.com/home-exercise-video/sit-to-stand-without-hands . Título verificado: “Sit-to-stand training without using hands”. O vídeo mostra sentar e levantar, com pausa no assento; a diferença está explícita no app. O exercício continua sendo agachar até tocar a cadeira com controle. Referência complementar: https://www.nhs.uk/live-well/exercise/strength-exercises/ , seção Sit-to-stand.

As imagens estáticas do supino no chão e bird dog vêm do wger; a API informa CC BY-SA 4.0. Bird dog: autor Settebello. Supino: autor não informado pela API; crédito à origem e link de licença no app. Licença: https://creativecommons.org/licenses/by-sa/4.0/ . Imagens sem edição, carregadas por URL; nenhum direito sobre os vídeos é presumido. Os vídeos abrem na página original, sem iframe ou player externo carregado antes do clique. Não há cópia dos vídeos. Os três casos alternativos não são apresentados como GIFs do ExerciseDB.

## Português e limites

Nomes, equipamentos e músculos usam dicionário local. Os dez movimentos iniciais têm orientações e erros comuns em português. Frases conhecidas da biblioteca são traduzidas por um dicionário local de sentenças revisadas. O dicionário é finito: em movimentos adicionais pode haver tradução parcial. As instruções originais completas permanecem acessíveis e a limitação é indicada, sem inventar traduções. Não há serviço de tradução, IA ou chave de API.

Os vídeos e sites externos podem ter suas próprias políticas de cookies. O MyWorkout não inclui scripts de analytics, embeds nem pixels e envia requests de mídia com referrerpolicy=no-referrer.

O cache offline guarda exclusivamente os arquivos próprios da aplicação. GIFs, imagens do wger e vídeos externos não são interceptados nem armazenados pelo service worker.

## Assistente de montagem · R3 · 31/10/2026

Referências gerais lidas no Browser: [CDC, Adult Activity: An Overview](https://www.cdc.gov/physical-activity-basics/guidelines/adults.html), com orientação de fortalecimento em pelo menos dois dias e atividade aeróbica ao longo da semana; [NHS, Strength exercises](https://www.nhs.uk/live-well/exercise/strength-exercises/), com exemplos acessíveis. A caminhada curta do app é complementar e não representa a meta semanal inteira. Regras de divisão A/B, séries, reps, descanso e estimativa de minutos são heurísticas conservadoras deste produto; as páginas não validam uma prescrição individual nem todos os parâmetros do algoritmo.

Novas alternativas locais nhs:wall-press-up (Flexão na parede), nhs:mini-squat (Miniagachamento) e nhs:side-leg-lift (Elevação lateral da perna) referenciam a página real do NHS, com suas respectivas seções. Esses IDs são internos ao app, não IDs oficiais nem endpoints do NHS. Demonstrações com fotos são abertas na origem, sem copiar imagens ou vídeos. Não são apresentadas como GIFs.

Rosca alternada com elástico: ExerciseDB 3omWx6P, band alternating biceps curl, consultado pelo endpoint documentado e conferido visualmente no Browser. GIF real https://static.exercisedb.dev/media/3omWx6P.gif, elástico sob os pés, sem ancoragem externa. Mesmas restrições pessoais/não comerciais e atribuição AscendAPI do catálogo inicial. Requer elástico longo apropriado, não miniband. O app não associa cores ou alegados kg à resistência.

Foram descartadas as remadas Nu7jqFE e tc5dYrf: o GIF da primeira usa banco/aparelho apesar da instrução de chão, e o da segunda usa ancoragem alta apesar da instrução de elástico sob os pés. Não são substituições confiáveis para uma remada doméstica livre sem equipamentos adicionais. Evidências locais: qa/wizard-20261031/library-matches.json e band-search.json. Sem halteres, a lacuna de remada é informada na prévia e não é ocultada pelo nome “corpo todo”.
