Inspiration

As someone who works out almost every day, my biggest enemy isn't the weights; it's the workout plateau. The monotony of doing the same routines leads to boredom and, eventually, a lack of progress. I found myself spending too much time piecing together new plans, and I wanted a smarter solution. I wanted an app that acted like a real personal trainer: something that knew what I did yesterday, understood my goals, and could give me a fresh, effective plan for today.

When I saw the "one-shot track" for the world's largest hackathon, the idea clicked. What better way to build an intelligent app than by using an intelligent tool? The ultimate challenge wasn't just to build my dream fitness planner, but to see if I could stress-test Bolt's limits and generate a complete, secure, and genuinely useful application from a single, comprehensive prompt.

What it does

REP, the Reactive Exercise Planner, is your personal AI fitness coach that eliminates guesswork. It starts by learning about you: your stats, your fitness level, and most importantly, your primary goal.

Every day, you can ask it for a new workout, giving it an optional focus like "focus on legs." REP's secure backend then sends your profile and recent history to an AI that crafts a unique, balanced session just for you - complete with a warm-up, main exercises, and a cool-down. The plan is interactive, letting you check off exercises and view instructions. Every workout you save makes the AI smarter for the next one, ensuring your fitness journey is always moving forward.

How I built it

The most unique part of this project is that the entire application - frontend, backend logic, and database schema - was generated from a single, meticulously crafted prompt given to Bolt.

The tech stack is modern and robust:

  • Frontend: React with TypeScript and Vite
  • Styling: Tailwind CSS
  • Backend & Database: Supabase

Crucially, I designed a secure architecture from the start. The React client makes zero direct calls to the Gemini API. Instead, it invokes a secure Supabase Edge Function. This backend function is the only part of the system with access to the API key. It gathers the user's data, constructs the prompt, communicates with the AI, and then sends the completed plan back to the user. This ensures the application is not only smart but also safe.

Challenges I ran into

The primary challenge wasn't writing code, but prompt engineering on an architectural scale. Describing an entire full-stack application in a way that leaves no room for ambiguity is an incredible exercise in precision. I had to think like a compiler, defining everything from UI component behavior and theme colors to the exact JSON schema the AI must return.

Ensuring the final app was secure was a non-negotiable challenge. It was tempting to take the simpler route of client-side API calls for a hackathon, but I was determined to see if I could prompt Bolt to build the "right" architecture. Specifying the secure Edge Function flow required careful, explicit instructions, but was absolutely worth it.

Accomplishments that I'm proud of

First and foremost, successfully generating a complete, full-stack, and secure application from a single prompt. It's a testament to how powerful these generative tools are becoming.

I'm particularly proud of the secure architecture. Building an application where secret API keys are never exposed to the client is a fundamental best practice, and accomplishing that within the one-shot constraint feels like a major win.

Finally, I'm proud that I built an app that I genuinely started using myself the day it was created. It solves a real problem I face daily, and that's the most rewarding part.

What I learned

This project hammered home that the future of rapid prototyping is incredibly bright. The "one-shot" approach forces you to become a true architect—to think about the entire system holistically from the very beginning.

I learned that the quality of the AI's output is a direct and unforgiving reflection of the quality and precision of your input. Vague requests lead to vague results. Clear, structured, and detailed prompts lead to functional, high-quality applications. It has fundamentally changed how I think about describing software requirements.

What's next for REP (Reactive Exercise Planner)

This hackathon was the ultimate proof of concept, and I'm excited about where it could go.

  • Granular Tracking: Adding the ability to log the specific weights and reps used for each set to enable true progressive overload tracking.
  • Visual Analytics: Building progress charts and dashboards to visualize strength gains and consistency over time.
  • Expanded Modalities: Training the AI to generate plans for different disciplines, like bodyweight-only routines, yoga, or HIIT.
  • Community Features: Allowing users to share their favorite generated workouts with friends to take on new challenges together.

Built With

Share this project:

Updates