17 KiB
LevelRep – offene Fragen & Antworten
Stand: 24.08.2026 · aus
idee.md&progress.mdabgeleitet 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.mdzurü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
- Beginner:
-
✅ 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
- alle 13 Einheiten des aktuellen Tiers bestanden UND
- Level-Cap des aktuellen Tiers erreicht UND
- ü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:
- korrekte Smartphone-Position anzeigen
- 5 saubere Wiederholungen durchführen
- Sensorwerte / Bewegungsmuster erfassen
- Bewegungsbereich berechnen
- Kalibrierung bestätigen
- lokal speichern
- 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/−1am 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.mdeinpflegen) und den Eintrag hier löschen bzw. mit Verweis stehen lassen. - ✅ = Vorschlag zum Übernehmen · ⚠️ = Diskussionspunkt · ❌ = bewusst raus · 💬 = freier Kommentar