Files
SneakySwole/docs/roadmap.md
Phillip Tarrant 3f7ce965e1 feat: initial project setup with roadmap, exercise data, and docs
Establish SneakySwole project foundation:
- CLAUDE.md with project overview, stack, and development guidelines
- 5-phase roadmap (scaffold, data layer, workout UI, logging, progression)
- Exercise library YAML with 6 warmups and 20 exercises (form cues, tempo, sets)
- User programs YAML with week 1/4 targets for Phillip and Daughter
- Design doc capturing roadmap, data, and auth model decisions
- Code guidelines, security standards, and .gitignore
- Source workout spreadsheet (workout_plan_v2.xlsx)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 21:55:31 -06:00

2.5 KiB

SneakySwole Roadmap

Phase 1: Scaffold & Infrastructure

Set up the project foundation — everything needed before writing features.

  • FastAPI project structure (app/ with routes, services, models, templates, static, utils)
  • Dockerfile + docker-compose.yaml (SQLite volume, port 8000, .env support)
  • Pico CSS dark theme base template (Jinja2 with data-theme="dark")
  • .env / .env.example with admin credentials (ADMIN_USERNAME, ADMIN_PASSWORD)
  • uv for dependency management, requirements.txt with pinned versions
  • Structlog logging setup
  • Basic health check route (/health)

Phase 2: Data Layer & Seeding

Build the database schema and seed it from YAML config files.

  • SQLite schema via Alembic migrations
    • Tables: users, exercises, warmups, workout_days, user_exercise_programs, sets, progress_log
  • config/exercises.yaml — exercise library (name, muscle group, workout day, sets, tempo, form cues)
  • config/user_programs.yaml — per-user week 1/4 reps and weights for each exercise
  • Seed script that loads YAML into DB on first run
  • Admin user auto-created from .env credentials on startup (password hashed with bcrypt)
  • Two initial user profiles seeded: Phillip and Daughter
  • Service layer for all DB access (no direct queries from routes)

Phase 3: Workout UI

The core user-facing experience — viewing workouts and managing profiles.

  • Admin login (simple session-based auth, password hashed)
  • Profile switcher in nav (admin selects active user profile)
  • Admin can create and edit user profiles (name, weight, height, goals)
  • Workout day viewer — warmup routine + main exercises with full form cues
  • Exercise library browser (search/filter by muscle group, workout day)
  • All interactions via HTMX partials (no JSON APIs, no vanilla JS)

Phase 4: Logging & Tracking

Enable workout logging so users can track what they actually did.

  • Per-exercise logging: sets completed, reps, weight used, "felt easy?" toggle
  • Workout session model (date, user profile, workout day)
  • HTMX inline logging — log directly from the workout day view
  • Log history view per user profile
  • Edit/delete past log entries

Phase 5: Progression & Analytics

Smart suggestions and visual progress tracking.

  • Auto-progression engine based on log history
    • +1-2 reps/week, +5 lbs every 2 weeks
    • Deload detection at week 5 (-20% weight)
  • 4-week schedule view (calendar-style, shows which day maps to which date)
  • Progress dashboard per user profile
  • Per-exercise progress history and trends
  • Summary stats (total volume, streak tracking)