A mobile-first Next.js experience that turns any beginner PDF into a vibrant, animated workout tracker. The current MVP simulates the "AI" backend with a mock JSON response but preserves the full upload flow so we can swap in a real service later.
- Next.js 16 (App Router) + React 19
- Tailwind CSS v4 + shadcn/ui components + lucide-react icons
- Framer Motion for page/component animations
- date-fns for streaks, timestamps, and friendly dates
app/page.tsxonly decides between onboarding and dashboard states viauseWorkoutStore.app/lib/data.tshosts the mock AI JSON; swap with a real API response without touching UI code.app/lib/hooks.tsowns localStorage hydration, streak resets, and thetoggleCompletechecklist logic.app/components/*break the UI into focused pieces (Onboarding,Dashboard,StatsGrid,WorkoutList,ExerciseCard).
- Two-step onboarding (name + PDF upload) with a simulated AI parsing delay.
- Neon-inspired dashboard header, stat grid, and accordion-based workout list with animated checkboxes.
- Daily progress + streak tracking, with completions auto-clearing when the calendar date changes.
- Rest-day detection that swaps the workout list for a playful recovery card.
npm install
npm run devOpen http://localhost:3000 on a phone or narrow browser window for the intended experience. To reset the experience, clear localStorage (key: gym-app-store) or use the helper inside useWorkoutStore.*** End Patch