# LevelRep – offene Fragen & Antworten > Stand: 24.08.2026 · aus `idee.md` & `progress.md` abgeleitet > Jeder Themenblock hat: **Frage(n)** + **Antwort-Empfehlung(en)**. Antworten mit > ✅ = Vorschlag / Defaults zum Übernehmen; ⚠️ = bewusste offene Entscheidung; > 💬 = Diskussionspunkt. > > Diese Datei dient als lebendiges Decision-Memo: Antworten können später in > `idee.md` / `progress.md` zurückfließen und hier gelöscht werden. --- ## 1. Level- & EXP-System (größte offene Lücke) ### Fragen * Wie genau wird **EXP** vergeben? Pro Wiederholung, pro Satz, pro Einheit, pro Übung? * Wie viel EXP erhält eine bestandenene Einheit — pro Tier unterschiedlich? * Bonus-EXP für saubere Ausführung, vollständige Sätze, Max-Rep? * EXP bei Nichtbestehen — Trost-EXP oder 0? * Level bei Tier-Wechsel: erhalten, relativ (%) oder absolut? * Level-Cap pro Tier? * Skaliert EXP mit Tier? ### Antwort-Empfehlungen * ✅ **Normale Wiederholung = 1 EXP** * ✅ **Max-Rep-Wiederholung = 2 EXP** * ✅ Bonus für einen vollständig abgeschlossenen Satz: * Beginner: `+5 EXP` * Fortgeschritten: `+10 EXP` * Pro: `+15 EXP` * ✅ Auch bei einer nicht bestandenen Einheit bleiben die EXP der tatsächlich ausgeführten Wiederholungen erhalten. * ✅ Bei einer nicht bestandenen Einheit gibt es **keine Abschluss-EXP**. * ✅ Die Einheit zählt bei Nichtbestehen nicht als Fortschritt und muss erneut absolviert werden. * ✅ Jedes Tier beginnt bei **Level 0**. * ✅ **Level-Cap pro Tier**: Beginner 25, Fortgeschritten 50, Pro ∞ * ✅ EXP pro Wiederholung bleibt in allen Tiers gleich. * ✅ Höhere Tiers benötigen mehr EXP pro Levelaufstieg. * ⚠️ Konkrete EXP-Kurve / benötigte EXP pro Level noch offen. ## 2. Tier-System & Tier-Wechsel ### Fragen * Wie wird das Tier bestimmt? (automatisch oder manuell) * Wann wird Aufstieg freigeschaltet? (EXP-Schwelle, Einheiten, Max-Rep, …) * Kann ein Tier übersprungen werden? * Ist „Pro" Endgame oder gibt es „Pro+"? * Wie wird Tier-Wechsel sichtbar gemacht? ### Antwort-Empfehlungen * ✅ **Manuelle Wahl mit Empfehlung**: App schlägt Tier basierend auf `Aktivitätslevel` + Kalibrierung / erster Bewegungserfassung vor, User bestätigt oder ändert. * ✅ Tier-Reihenfolge: **Beginner → Fortgeschritten → Pro** * ✅ **Freischaltung**: Tier-Aufstieg wird freigeschaltet wenn 1. alle 13 Einheiten des aktuellen Tiers bestanden UND 2. Level-Cap des aktuellen Tiers erreicht UND 3. übungsspezifischer Max-Rep-Zielwert bei mind. 3 der letzten 5 Einheiten erreicht wurde. * ✅ **Kein Überspringen** von Tiers. * ✅ **„Pro" = Endgame für v1.0**. * ✅ Tier-Wechsel erfolgt **nicht automatisch**. * ✅ App zeigt **„Tier-Up verfügbar“**, User entscheidet selbst über den Wechsel. * ✅ Max-Rep-Zielwerte werden pro Übung und Tier separat definiert. * ⚠️ Konkrete Max-Rep-Zielwerte pro Übung / Tier noch offen. * ⚠️ Konkrete visuelle Darstellung des Tier-Ups noch offen. ## 3. Kalibrierung ### Fragen * Was genau misst der Gyrosensor? (Amplitude, Beschleunigungsspitzen, Winkel, Kombi) * Wie viele Referenzwiederholungen für saubere Kalibrierung? * Re-Kalibrierung wann möglich? * Verhalten bei Fehlschlag der Kalibrierung? * Mehrere Kalibrierungen pro Profil/Übung speichern? * Kalibrierung pro Übung oder pro Bewegungsrichtung? ### Antwort-Empfehlungen * ✅ **Sensorik-Kombi**: Accelerometer + Gyroskop. * ✅ **5 Referenzwiederholungen** als Standard, keine Skip-Option fürs Kalibrieren. * ✅ Beim ersten Öffnen einer noch nicht kalibrierten Übung ist die Kalibrierung verpflichtend. * ✅ Ablauf: 1. korrekte Smartphone-Position anzeigen 2. 5 saubere Wiederholungen durchführen 3. Sensorwerte / Bewegungsmuster erfassen 4. Bewegungsbereich berechnen 5. Kalibrierung bestätigen 6. lokal speichern 7. Training freigeben * ✅ **Re-Kalibrierung manuell** jederzeit möglich. * ✅ Bei dauerhaft schlechter Erkennung empfiehlt die App eine Re-Kalibrierung. * ✅ Richtwert: 2 Trainingseinheiten hintereinander mit weniger als ca. 70 % Confidence. * ✅ Keine erzwungene Auto-Re-Kalibrierung. * ✅ Auswahl bei Empfehlung: **„Neu kalibrieren“ / „Später“** * ✅ **Fehlschlag-Handling**: UI zeigt konkrete Anweisungen wie „Bewegung zu klein“, „Bewegung zu unregelmäßig“, „Smartphone zu locker“, „Smartphone zu stark bewegt“ oder „Sensorwerte nicht eindeutig“ + erneuter Versuch mit 5 Wiederholungen. * ✅ **Eine Kalibrierung pro Übung pro Profil** für v1.0. * ✅ Kalibrierung erfolgt pro Übung. ## 4. Max-Rep ### Fragen * Zählt Max-Rep in EXP-Vergabe ein? * Wird er für Statistiken ausgewertet? * Wiederholungszahl per Sensor oder manuell? * Limit / Sicherheitsabbruch bei Formeinbruch? * Anzeige prominent oder versteckt? ### Antwort-Empfehlungen * ✅ **Max-Rep zählt EXP**: jede Wiederholung = `2 EXP`. * ✅ **Statistik-Max-Rep**: eigener Verlauf + persönlicher Rekord. * ✅ **Sensor-Zählung primär** + manuelle Korrektur über `+1` / `−1`. * ✅ Kein hartes Limit und kein automatischer Sicherheitsabbruch. * ✅ Bei deutlich schlechter werdender Bewegungserkennung: Vibrationssignal + visueller Hinweis. * ✅ **Prominente Anzeige** bei der jeweiligen Übung, z. B. `Klimmzüge — Level 6 · Max-Rep 8`. * ⚠️ Konkrete Sensor-Schwellwerte für Warnungen werden erst nach Praxistests festgelegt. ## 5. Profile ### Fragen * Welche Aktivitätslevel-Werte genau? * Wie viele Profile maximal? * Avatar / Foto — ja oder nur Text? * Löschen / Umbenennen möglich? * Profilwechsel mid-training erlaubt? * Datenmigration geplant? * Mehrere Personen auf einem Gerät — Feature oder Risiko? ### Antwort-Empfehlungen * ✅ **Aktivitätslevel**: 4 Werte — „Anfänger“ / „Hobby“ (1–2x/Woche) / „Aktiv“ (3–4x/Woche) / „Leistungssportler“ * ✅ **Keine künstliche Begrenzung** der Profilanzahl. * ✅ Profil enthält: Name, Größe, Gewicht, Aktivitätslevel und Emoji-Avatar. * ✅ **Avatar via Emoji-Auswahl**, kein Foto in v1.0. * ✅ **Löschen mit Bestätigungsdialog** · **Umbenennen** jederzeit. * ✅ Beim Löschen werden Trainingsdaten, Level, EXP, Statistiken und Kalibrierungen des Profils dauerhaft gelöscht. * ✅ **Profilwechsel mid-training gesperrt**. * ✅ **Datenmigration**: JSON-Export/Import. * ✅ **Multi-User auf einem Gerät** = bewusstes Feature. * ✅ Kein PIN-/Passwortschutz in v1.0. ## 6. Trainingseinheit & Progression ### Fragen * Wann genau rückt man eine Einheit vor (Konflikt idee.md ↔ progress.md)? * Regenerationstage: nur passive Anzeige oder Stretching-Bonusaufgaben? * Pausen-Timer: nur Countdown oder Sound/Haptik? * Bewegungserkennung-Fehler: manuelle Korrektur möglich? * Wann gilt Satz als bestanden? (vollständig oder Mindest-Schwelle) * Übungs-Reihenfolge: frei oder fixer Tagesplan? ### Antwort-Empfehlungen * ✅ **Nicht bestanden = dieselbe Einheit erneut**. Vorrücken erst wenn bestanden. * ✅ **Regenerationstage**: passive Anzeige mit Hinweis `Heute ist Regenerationstag.` + Anzeige der nächsten geplanten Einheit. * ✅ Restdays sind empfohlen, aber nicht verpflichtend. * ✅ Button **„Restday skippen“**, um direkt die nächste reguläre Einheit zu starten. * ✅ **Pausen-Timer**: standardmäßig 60 Sekunden, manuell bis auf 5 Sekunden reduzierbar. * ✅ Sichtbarer Countdown + Tick / Countdown in den letzten 5 Sekunden + Vibration bei Pausenende. * ✅ Sounds und Haptik können in den Einstellungen deaktiviert werden. * ✅ **Manuelle Korrektur**: `+1` / `−1` am Satzende. * ✅ **Satz bestanden** = alle Ziel-Wiederholungen erreicht. * ✅ **Einheit bestanden** = alle regulären Sätze vollständig abgeschlossen. * ✅ **Übungs-Reihenfolge**: frei wählbar, keine Pflichtreihenfolge in v1.0. ## 7. Übungen ### Fragen * Wann kommt Dips (5. Übung)? * Neue Übungen über App oder Code-Update? * Sonderregeln pro Übung (z. B. Plank mit Zeit)? * Variationen als eigene Übung oder Modifikation? ### Antwort-Empfehlungen * ✅ **v1.0**: Liegestütze, Kniebeugen, Klimmzüge, Sit-ups. * ✅ **Dips ab v1.x** als erste zusätzliche Übung. * ✅ Neue Übungen per App-/Code-Update. * ✅ **Keine User-definierten Übungen** in v1.x. * ⚠️ Sonderregeln wie zeitbasierte Übungen werden später separat betrachtet. * ✅ **Übungsvariationen bleiben vorerst komplett außen vor**. * ✅ Keine engen/breiten Varianten, Griffvarianten oder sonstigen Unterformen für v1.0 / v1.x geplant. ## 8. Sensorik / Hardware ### Fragen * Welche Sensoren genau? * Smartphone-Mounting-Empfehlung? * Geräteanforderungen? * Fallback ohne Sensor? * Gleich gute Erkennung für alle Übungen? ### Antwort-Empfehlungen * ✅ **Accelerometer + Gyroskop**. * ✅ ausschließlich **Android**. * ✅ **Liegestütze**: Smartphone wird so positioniert, dass die Nase bei jeder vollständigen Wiederholung das Smartphone / Display berührt. * ✅ **Kniebeugen, Klimmzüge und Sit-ups**: Erkennung über Bewegungs-/Sensordaten. * ✅ Vor der Kalibrierung zeigt die App ein **Piktogramm / eine Illustration**, wie das Smartphone gehalten bzw. positioniert werden muss. * ✅ Das gleiche Piktogramm wird auch **vor jedem normalen Training** der jeweiligen Übung angezeigt. * ✅ Kalibrierung und späteres Training müssen mit derselben Smartphone-Position durchgeführt werden. * ✅ **Fallback ohne funktionierende Sensorerkennung**: manueller Rep-Counter. * ⚠️ Exakte Smartphone-Position für Kniebeugen, Klimmzüge und Sit-ups wird durch Praxistests festgelegt. * ⚠️ Konkrete Erkennungsalgorithmen / Thresholds werden durch Praxistests festgelegt. * ⚠️ Mindest-Android-Version noch offen. ## 9. UI / UX & Tech-Stack ### Fragen * Plattform: Native, Flutter, React Native, PWA? * Offline-First oder Cloud-Sync? * Notifications / Reminder? * Sprachen? * Dark Mode? * Sounds / Haptik? ### Antwort-Empfehlungen * ✅ **Flutter / Dart** * ✅ ausschließlich **Android** * ✅ **vollständig lokal / Offline-First** * ✅ kein Backend, keine Cloud, keine Accounts und keine Online-API-Abhängigkeiten. * ✅ **Sprache v1.0: nur Deutsch** * ✅ Theme folgt standardmäßig dem System. * ✅ Nutzer kann optional **Hell** oder **Dunkel** erzwingen. * ✅ **Täglicher lokaler Trainings-Reminder**, Uhrzeit wird vom User selbst festgelegt. * ✅ Kurzes dezentes **„Bing“** nach jeder erfolgreich erkannten Wiederholung. * ✅ Tick / Countdown in den letzten 5 Sekunden der Pause + Vibration bei Pausenende. * ✅ Sounds und Haptik deaktivierbar. * ✅ **Font Awesome Free** für allgemeine UI-Icons (`font_awesome_flutter`). * ✅ Eigene lokale Piktogramme für Smartphone-Haltung / spezielle Trainingsanzeigen. * ✅ Icons, Sounds, Bilder und sonstige Assets werden lokal mit der App ausgeliefert. * ✅ Keine Assets werden online nachgeladen. * ✅ **State Management:** Riverpod * ✅ **Navigation:** go_router * ✅ **Lokale Datenbank:** Drift + SQLite * ✅ **Sensorzugriff:** sensors_plus * ✅ **Lokale Notifications:** flutter_local_notifications * ✅ **Sounds:** audioplayers ## 10. Daten & Persistenz ### Fragen * Speicher: lokal (SQLite/JSON/Core Data) oder Cloud? * Backup-Strategie? * DSGVO / Datenschutz? * Datenformat für späteren Umzug? ### Antwort-Empfehlungen * ✅ **Drift + SQLite** für lokale Trainings- und Profildaten. * ✅ Nutzerdaten werden strikt von App-Inhalten / Assets getrennt gespeichert. * ✅ User-Datenbank enthält u. a. Profile, Level, EXP, Tier, Trainingsfortschritt, Einheiten, Sätze, Wiederholungen, Max-Reps, Rekorde, Kalibrierungsdaten und Trainingshistorie. * ✅ App-Inhalte wie Übungen, Trainingspläne, Icons, Piktogramme und Sounds liegen davon getrennt. * ✅ App-Updates oder neue Übungen dürfen bestehende Nutzerdaten **niemals löschen oder überschreiben**. * ✅ Datenbankänderungen erfolgen ausschließlich über **Schema-Versionen + Migrationen**. * ✅ **Backup**: manueller JSON-Export / Import. * ✅ Export enthält eine Schema-Version für spätere Migrationen. * ✅ Kein automatisches Cloud-Backup. * ✅ Kleine Einstellungen wie Theme, Sound, Vibration, Reminder-Uhrzeit und Satzpause werden separat lokal gespeichert. * ✅ **DSGVO / Datenschutz**: keine Accounts, keine Cloud, keine Telemetrie, keine Analytics, keine Trainingsdaten verlassen das Gerät. ## 11. Statistiken & Feedback ### Fragen * Verlaufschart pro Übung? * Persönliche Bestleistungen? * Wochen-/Monatsstatistik? * Streak-Tracking? ### Antwort-Empfehlungen * ✅ **Statistiken pro Übung**: * aktuelles Level * aktuelles Tier * aktuelle EXP / Fortschritt zum nächsten Level * letzter Max-Rep * persönlicher Max-Rep-Rekord * Max-Rep-Verlauf * absolvierte Einheiten * Gesamtwiederholungen * Trainingsvolumen * ✅ **Verlaufscharts pro Übung**, standardmäßig über die letzten 30 Einheiten. * ✅ Chart-Ansichten: Wiederholungen, Gesamtvolumen, Max-Rep, EXP-Verlauf. * ✅ **Wochenstatistik**: absolvierte Trainings, gesamte Wiederholungen, verdiente EXP, neue Rekorde und ggf. geskippte Restdays. * ✅ **Streak-Tracking** basiert auf geplanten Trainingseinheiten, nicht auf Kalendertagen. * ✅ Restday unterbricht Streak nicht. * ✅ Restday skippen + Training unterbricht Streak nicht. * ✅ Geplanten Trainingstag auslassen beendet die Streak. * ✅ Persönliche Rekorde mindestens für höchsten Max-Rep, höchste Wiederholungszahl in einer Einheit, Gesamtwiederholungen und längste Trainings-Streak. ## 12. Soziale / Gamification-Features (offen) ### Fragen * Achievements / Badges? * Tagesziel / Wochenziel außerhalb 30-Tage-Plan? * Freund:innen / Leaderboard? * Trainings-Tagebuch / Notizen? ### Antwort-Empfehlungen * ✅ **Achievements / Badges in v1.0**. * ✅ Achievements sind rein kosmetisch und geben keine zusätzlichen EXP. * ✅ Beispiele: * erste Einheit abgeschlossen * 100 Wiederholungen * 1.000 Wiederholungen * erster Max-Rep * neuer Max-Rep-Rekord * Level 10 erreicht * Beginner abgeschlossen * erstes Tier-Up * 5er-Streak * 10er-Streak * 25er-Streak * alle vier Übungen trainiert * 10 Restdays geskippt * ✅ **Persönliches Wochenziel** in v1.0, z. B. `3 Trainingseinheiten diese Woche`. * ❌ **Freunde / Leaderboards / soziale Online-Features** nicht in v1.0. * ✅ **Trainings-Tagebuch** auf v1.x verschoben. * ⚠️ Freunde, Leaderboards oder Challenges werden nur später neu bewertet, falls LevelRep überhaupt Online-Funktionen erhält. ## 13. Fehler- & Edge-Cases ### Fragen * App-Crash mid-Einheit — teilweise bestanden speichern? * Sensor-Ausfall mid-workout? * Akku leer im Max-Rep? * Gerät neu kalibriert nötig mid-workout? ### Antwort-Empfehlungen * ✅ **Auto-Save nach jedem abgeschlossenen Satz**. * ✅ Bei Crash / unerwartetem Schließen bleiben alle abgeschlossenen Sätze erhalten. * ✅ Der aktuell laufende Satz gilt als nicht abgeschlossen. * ✅ Beim Neustart erscheint **„Training fortsetzen?“** * ✅ **Sensor-Ausfall**: Training wird nicht abgebrochen; App informiert den User und wechselt auf manuellen Rep-Counter. * ✅ Bereits abgeschlossene Sätze bleiben bei Sensor-Ausfall erhalten. * ✅ **Akku-Warnung** bei niedrigem Akkustand, Richtwert `<15 %`. * ✅ Auswahl: normal weitertrainieren oder auf manuellen Rep-Counter wechseln. * ✅ Kein automatisches Umschalten. * ✅ **Re-Kalibrierung mid-workout**: bereits abgeschlossene Sätze bleiben gültig. * ✅ Nur der aktuelle Satz wird pausiert / verworfen. * ✅ Nach Re-Kalibrierung wird nur der aktuelle Satz erneut gestartet. * ✅ Beim absichtlichen Verlassen eines laufenden Trainings erscheint: * „Training fortsetzen“ * „Training speichern & verlassen“ * „Training verwerfen“ ## 14. Roadmap-Reihenfolge (Priorisierung offen) ### Antwort-Empfehlung (vorgeschlagene Roadmap) **Keine festen Zeitangaben — Entwicklung nach Meilensteinen.** **M1 – App-Grundgerüst** * Flutter-Projekt * Profile * Navigation * lokale Datenbank * Theme * lokale Einstellungen * Grunddesign **M2 – erste komplette Übung** * Liegestütze vollständig umsetzen * Smartphone-Anleitung / Piktogramm * Kalibrierung * Wiederholungserkennung * Trainingsanzeige * Satzsystem * Pausentimer * Max-Rep * Trainingsabschluss * lokale Speicherung **M3 – Trainingssystem** * Tiers * 30-Tage-Progression * Restdays * Restday skippen * Max-Rep * EXP * Level * Tier-Up **M4 – alle vier Übungen** * Liegestütze * Kniebeugen * Klimmzüge * Sit-ups * Sensorlogik * Kalibrierung * Piktogramme zur Smartphone-Position **M5 – Gamification & Statistik** * Levelanzeige * EXP-Fortschritt * Streaks * Achievements * Wochenziele * Rekorde * Max-Rep-Verlauf * Statistiken * Charts **M6 – Stabilisierung** * Crash-Verhalten * Sensor-Fallback * Akku-Warnung * Datenbank-Migrationen * JSON-Export / Import * Praxistests * Sensor-Feintuning * UI-/UX-Feinschliff **M7 – v1.0 Release** * 4 Kernübungen * vollständiges lokales Trainingssystem * Level- und Tier-System * Sensorik / Kalibrierung * Statistiken / Gamification * Offline-Datenhaltung **v1.x** * Dips * weitere Übungen * Trainings-Tagebuch * weitere Achievements * verbesserte Statistiken * Sensor-Feintuning * UI-Verbesserungen * bessere lokale Backup-Funktionen **Vorerst nicht eingeplant** * Cloud * Account-System * Freunde * Leaderboards * Online-Challenges * Community-Übungen * Übungsvariationen * Wearables * iOS --- ## Meta * Diese Datei lebt im Repo und wird mit jeder neuen Entscheidung kürzer. * Vorschlag: nach jeder Klärung die Antwort **direkt im Repo** dokumentieren (oder in `idee.md` / `progress.md` einpflegen) und den Eintrag hier löschen bzw. mit Verweis stehen lassen. * ✅ = Vorschlag zum Übernehmen · ⚠️ = Diskussionspunkt · ❌ = bewusst raus · 💬 = freier Kommentar