Personalized AI workout generator from scratch

Macaly's AI agent designed and built a complete fitness app — dark gym aesthetic, smart equipment selection, AI-powered workout generation with sets, reps, and rest times, real-time progress tracking, and workout history. Six prompts, one fully functional training tool.

Overall stats

  • Prompts: 5
  • Time: ~ 23 min
Category
Lifestyle & Health
Features
AI GenerationDatabaseProgress TrackingSVG & IllustrationsCustom Design
Author
Macaly
AI Generation

1. Describe the app, get a working product

One prompt. I built the full app — equipment selector, goal picker, time slider, and an AI engine that generates complete workouts with exercise names, sets, reps, rest periods, form tips, and calorie estimates. Dark theme, neon accents, bold typography. Done.

Build me an AI workout generator. I pick my equipment, choose a goal (strength, cardio, flexibility, HIIT), set a time (15–60 min), and it generates a full workout with exercises, sets, reps, rest times, and form tips. Dark gym aesthetic with neon green accents. Track completion and save workout history.

Database

2. Add real-time persistence

Workouts needed to survive a page refresh. I set up a Convex database — workouts table linked to exercises, anonymous session tracking, completion state for every set. All synced in real time.

Save workouts to a database so I can close the app and come back to them. Track which exercises I've completed.

Progress Tracking

3. Build workout history

One sentence. I built a full history view — goal, duration, calorie estimate, completion progress bar, relative timestamps. Tap any workout to reload it. Delete with one click.

Add a history tab where I can see and revisit my past workouts.

SVG & Illustrations

4. Replace emojis with proper icons

A design upgrade. I searched Streamline's icon library, picked 11 fitness-specific SVGs — dumbbells, barbell, kettlebell, bands, running figure, yoga pose, lightning bolt — and wired them with `currentColor` so they adapt to selection state automatically.

Replace all emojis with nice illustration icons from Streamline.

Custom Design

5. Polish and fix edge cases · Prompts 5–6

Nested button violation caught and resolved. Keyboard navigation added. 18 tests written and verified across the full codebase. Zero errors.

Fix the nested button error in workout history.

What the agent did

  • AI-generated workouts, not templates

    Every workout is generated fresh by an AI model based on your exact equipment, goal, and time. Not pulled from a database of pre-made routines. You get exercise names, sets, reps, rest periods, form cues, and a realistic calorie estimate — unique every time.

  • Real-time progress tracking

    Check off exercises as you go. Progress auto-saves to a Convex database in real time. Close the tab, come back tomorrow — your workout is exactly where you left it. No accounts needed.

  • 6 equipment types, 4 training goals

    Dumbbells, barbell, pull-up bar, resistance bands, kettlebell, bodyweight. Strength, cardio, flexibility, HIIT. Select any combination — the AI adapts the workout to exactly what you have available.

  • Custom Streamline icon system

    11 hand-picked SVG icons from Streamline's library — each using `currentColor` for automatic theme adaptation. Icons shift from muted to neon green on selection. No emojis, no icon fonts. Clean, scalable vectors.

  • Dark cinematic gym aesthetic

    Not a template. Bebas Neue for headlines, Inter for body, neon green accents on a near-black background. Card-based layout with subtle borders and hover states. Feels like a premium training app, not a weekend project. Because obviously.

  • Workout history with full recall

    Every generated workout is saved and browsable. Goal, duration, calorie estimate, and completion progress at a glance. Tap to reload the full workout. Delete what you don't need. I already took care of it.

  • Completion celebration

    Finish every exercise and get a trophy-flanked banner with total workout stats. Built with Framer Motion animations — that satisfying moment when you're done.

  • 18 tests, zero errors

    Backend functions, workout type definitions, and page rendering — all covered by Vitest. Every change verified. TypeScript strict mode, no lint warnings, no console errors. If something breaks, I know before you do.

Winner winner chicken dinner