Inspiration

The concept for FitInsight AI was born out of a common frustration shared by many fitness enthusiasts and beginners alike: data fatigue. While tracking workouts via notebook apps or traditional logging software is easy, deriving actionable meaning from hundreds of rows of historical data is not. Many users find themselves consistently logging sets, reps, and weights without actually knowing if they are applying progressive overload or if their training behavior aligns with their long-term goals. FitInsight AI was inspired by the desire to bridge the gap between simple data collection and intelligent, coach-like analysis—making personalised fitness insights accessible to everyone without the need for manual spreadsheet parsing.

What it does

FitInsight AI is a web-based tracking and analytics platform that turns raw gym logs into a personalised fitness narrative. Users can log their workouts effortlessly through a responsive web interface using pre-saved templates or custom routines, manage their long-term fitness goals, and view their training history. Instead of just showing static charts, the platform leverages the Google Gemini API to analyze historical data alongside the user's personal profile. It automatically flags training plateaus, identifies behavioural patterns, and generates highly contextual, goal-aware progress summaries that tell the user exactly why they are or aren't hitting their targets.

How we built it

FitInsight AI is structured around a decoupled, modern tech stack designed for speed and scalability:

  • Frontend: Built using React Native and JavaScript, providing a fully responsive web experience optimised for smooth data entry across both desktop monitors and mobile web browsers.
  • Backend: A high-performance FastAPI (Python) server serves as the orchestrator. It handles business logic, communicates with the database, and pre-processes metrics before payload delivery to the AI layer.
  • Database & Auth: Supabase manages secure user authentication and stores relational time-series fitness records (users, routines, logs, and exercises).
  • AI Engine: The backend aggregates historical data and formats it alongside user profile goals into structured prompts for the Google Gemini API.

Challenges we ran into

  1. Prompt Determinism and Formatting: Initially, the AI output was highly variable, sometimes generating walls of text or unsafe fitness assumptions. This was resolved by implementing strict system instructions that forced the Gemini API to return structured Markdown, ensuring that progress summaries were consistently clean, easy to read, and safely framed before rendering directly on the frontend UI.

  2. Cross-Ecosystem Dependency Management: Operating a decoupled stack across completely different software environments introduced significant version control friction. On the frontend, aligning third-party JavaScript libraries with Expo’s strict SDK versioning requirements often caused conflicting builds. On the backend, managing breaking updates between FastAPI versions and database integration packages required rigorous dependency locking. Ensuring data types remained identical between the Python server and the JavaScript client meant a single breaking update on either side could disrupt the entire pipeline.

Accomplishments that we're proud of

We are incredibly proud of successfully building a functional, end-to-end pipeline that connects a modern web interface to a secure database and an AI layer, executing the entire data-to-insight generation loop smoothly. Creating a highly responsive web interface that feels like a clean, data-dense dashboard on a desktop computer while effortlessly folding down into an intuitive, lightweight tracker on a mobile web browser was a major milestone. Seeing raw workout logs turn into structured, meaningful text summaries that actually interpret a user's fitness journey in real-time is an achievement we are highly satisfied with.

What we learned

Developing FitInsight AI provided deep insights into full-stack web development and AI integration. A major engineering takeaway was realizing that LLMs are heavily dependent on the way raw data context is framed within a prompt; taking the time to structure your backend payloads into clear, logically ordered text strings yields vastly superior AI responses compared to throwing raw database dumps at the LLM interface. Additionally, the project sharpened our skills regarding relational schema design for time-series data within Supabase, state management in React, and optimising prompt pipelines for real-time user experiences.

What's next for FitInsightAI

Moving forward, we plan to expand FitInsight AI into an even more proactive assistant. Immediate next steps include implementing Web Push Notifications to remind users of their historical lifting targets on their browsers right before their scheduled workout times. We also want to introduce computer vision capabilities, allowing users to upload a video of their exercise form directly to the web app and have Gemini analyse their mechanics against safety standards. Finally, we plan to integrate third-party fitness API connections to cross-reference workout intensity with sleep and recovery data for truly holistic health insights.

Built With

Share this project:

Updates