2.2 KiB
2.2 KiB
Features: Workout Logging UX Improvements
Project: Gravl — PPL Workout Tracker Researched: 2026-02-15
Table Stakes (Must-Have)
| Feature | Complexity | Dependencies | Notes |
|---|---|---|---|
| Input validation (no negative reps, weight min 0) | Low | None | Currently broken — allows any value |
| Weight unit display (kg suffix) | Low | None | Missing — only placeholder text |
| Mobile input layout (44px min touch targets) | Low | None | Currently compressed inputs |
| Add/remove sets per exercise | Medium | Backend log changes | Fixed set count is rigid |
| Pre-fill last workout's weight/reps | Medium | Progression API | Users need reference for what to lift |
| Exercise search/filter | Medium | Exercise list API | Needed for custom workout builder |
Differentiators (Competitive Advantage)
| Feature | Complexity | Dependencies | Notes |
|---|---|---|---|
| Custom workout builder | High | New DB tables, new endpoints | Build workouts from exercise list |
| Modify program workouts | Medium | Custom workout infra | Swap/add exercises mid-workout |
| Rapid-fire set logging | Medium | Stepper inputs | Auto-advance, minimal taps per set |
| Progressive overload visualization | Medium | History data | Show trend vs last workout clearly |
| Rest timer with notifications | Low | Browser APIs | setInterval + Notification API |
| Superset/circuit support | High | Schema changes | Group exercises for alternating sets |
Anti-Features (Deliberately Avoid)
| Feature | Why to Avoid |
|---|---|
| Social features | Users hate mandatory social in workout apps |
| Complex periodization | Overcomplicates a personal PPL tracker |
| Video exercise demos | Storage/bandwidth cost, not core value |
| Gamification (badges, streaks) | Distracts from simple logging |
| AI workout generation | Scope creep — user knows their program |
Priority for This Milestone
- Input fixes — validation, units, layout (table stakes, low effort)
- Flexible sets — add/remove sets (table stakes, medium effort)
- Custom workouts — build from scratch + modify program (differentiator, high effort)