Nytt tänk: appen byggs runt själva gympasset, inte runt flikar. Mellan seten har du svettiga händer och 90 sekunder — allt i passläget är därför stora tryckytor, förifyllda värden och en vilotimer som sköter sig själv, även på låsskärmen. Runt det: en hemskärm som startar pass på ett tryck, och Android-ytor som webben aldrig kan nå.
Hela skärmen ägnas åt övningen du står vid. Svep i sidled mellan övningarna i passet. Värdena är alltid förifyllda från förra passet plus progressionsregeln — stämmer allt trycker du bara på gröna knappen.
Ett tryck per set. Vikt och reps förifylls från förra passet + progressionsregeln (API:t har redan lastExercisePerformance). Stämmer det: tryck ✓. Annars ±-knappar — aldrig tangentbord för standardfallet.
Vilan sköter sig själv. Loggat set → timern startar, skärmen växlar till ringen, telefonen vibrerar när det är dags. Längden hämtas per övning (litet API-tillägg, se sist).
Svep = nästa övning. Ingen lista att scrolla i mitt i passet. Prickraden överst visar var i passet du är; långtryck öppnar överblicken där du kan ändra ordning eller lägga till övningar.
PB firas direkt — slår du ett personbästa på ett set får du konfetti och en 🏆-notis i samma sekund, inte när passet är slut.
Bänkpress 80,0 kg × 8 · Push A 26:04
Lämna passläget utan att tappa passet. Kollar du statistik mitt i passet ligger minispelaren kvar ovanför navigeringen. Notisen med timer-åtgärder gör att telefonen kan ligga kvar i fickan mellan seten — det här är appens största övertag över webben.
Öppnar du appen med ett pass igång åker du rakt in i passläget. Annars: starta på ett eller två tryck.
Fritt pass = ett tryck. Passet skapas direkt och övningsväljaren öppnas. Namn kan sättas efteråt — inga formulär mellan dig och första setet.
Favoritpass = två tryck. API:ts favoritpass + mallar, med auto-progressionen förifylld.
Veckans muskler — en liten kroppskarta som teaser för statistiken, och en knuff om vad som är underjobbat. Trycker du på kortet öppnas hela kartan (sektion 5).
Pågår ett pass öppnas appen direkt i passläget — hemskärmen visas bara när inget är igång. Därför behövs inget "fortsätt"-kort: appen minns åt dig.
Muskelgrupper som chips med ikoner; vald grupp fäller ut sina muskler som en andra rad. Brickorna (KG/REPS/TID/M) kommer från övningens tracks-flaggor och styr sedan set-loggningens fält.
Favoriter alltid överst (API:ts favoritövningar), med senaste vikten som förhandsinfo så du slipper minnas var du låg.
Ikoner istället för foton: API:t saknar övningsbilder, så appen buntar vektorikoner per muskelgrupp — offline, blixtsnabba, temafärgade. Vill du hellre ha en kroppskarta där vald muskel tänds som filter är det samma dataunderlag — säg till vilken du föredrar (kartan finns i sektion 5).
Ny övning på plats: hittas inte övningen visas "Skapa övningen ‹sökordet›" längst ned — grunddatan behöver aldrig besökas mitt i ett pass.
Det webben aldrig kan: starta och styra pass utan att ens öppna appen.
Statistikens signaturvy: en stiliserad figur där varje muskelgrupp färgas efter träningsvolymen i perioden (datat finns redan i API:ts workoutStats). Samma karta kan återanvändas som muskelväljare i övningsfiltret om du hellre vill det än chips.
Färgskalan är volym i perioden — här syns direkt att bröst/underarmar fått mest och att ben & mage släpar. Tryck på en muskel → övningarna och seten bakom siffran.
Figuren är medvetet stiliserad (byggd av former, inte anatomisk) — den blir tydlig i litet format, temafärgas och kräver inga bildlicenser. Vill du ha en mer anatomisk siluett går det, men liten och skarp slår detaljerad och grötig på en telefon.
Med passläge + minispelare behövs färre flikar än webben har: Hem · Historik · Statistik · Profil med startknappen i mitten (förslag B från förra rundan). PB och kroppskartan bor i Statistik, grunddata och skivinställningar under Profil. Fritt pass, favoriter, widget och appgenvägar gör att flikarna nästan aldrig behövs på väg in i ett pass — de är för uppföljningen.
Inget av detta blockerar bygget — appen kan falla tillbaka på vettiga defaultvärden tills de finns.
| Tillägg | Vad det ger | Storlek |
|---|---|---|
| MuscleGroup.iconKey | Servern pekar ut vilken ikon en muskelgrupp har istället för att appen gissar på namnsträngar ("Bröst" vs "Chest"). En kolumn + fält i GraphQL. | LITEN |
| ExerciseType.defaultRestSeconds | Auto-vilotimern vet hur länge just den övningen vilar (90 s bänk, 180 s marklyft). Fallback i appen: 90 s. Kolumn + fält + med i mallexport. | LITEN |
| Lift/Set: clientId (UUID) | Offline-läge på gymmet: appen kan köa set lokalt och synka i efterhand utan dubbletter när samma mutation skickas om. Unik kolumn + upsert-logik. | MEDEL · roadmap |
| ExerciseType.imageUrl | Frivillig påbyggnad om du senare vill ha riktiga foton/anatomibilder per övning — appen visar dem när de finns, ikoner annars. | LITEN · valfri |