About FitTrack
Inspiration:
We were inspired to create FitTrack because we wanted a simple, all-in-one platform for tracking fitness goals and workouts. Many fitness apps either focus on social features or require expensive subscriptions, so we aimed to build a lightweight, personalized, and accessible solution for students and beginners alike.
What We Built:
FitTrack is a full-stack application that allows users to register, log workouts, and monitor progress. Our tech stack included:
- Frontend: HTML, CSS, JavaScript, and React (optional)
- Backend: Python Flask API
- Data Sanitization: C
- Database: MongoDB
- Deployment: DigitalOcean
We also integrated Gemini, a generative AI API, to provide personalized fitness recommendations based on the user's logged activities. Gemini helps users get intelligent suggestions for workouts and goal tracking, making the app more interactive and insightful.
Challenges:
Some of the main challenges we faced included:
- Connecting the frontend and backend: Ensuring React/HTML pages could reliably communicate with our Flask API, especially when deployed.
- Database integration: Configuring MongoDB to work seamlessly with the backend in both development and production.
- AI integration: Incorporating Gemini’s API required careful handling of input/output to generate meaningful, context-aware fitness advice.
What We Learned:
- How to build a full-stack web application from scratch.
- How to deploy services to DigitalOcean and manage environment variables securely.
- How to integrate a generative AI API like Gemini into a real-world application.
- Practical skills in debugging, API communication, and asynchronous JavaScript.
Summary:
FitTrack combines frontend interactivity, backend logic, database storage, and AI-powered insights to provide a complete fitness tracking solution. Through this hackathon, we learned not only how to build a full-stack project, but also how to collaborate effectively under time constraints and overcome deployment challenges.
Log in or sign up for Devpost to join the conversation.