Inspiration

We both love to work out and have experienced firsthand how easy it can be to lose motivation. We wanted to create a tool that helps people stay focused, track their progress, and celebrate their achievements with a supportive community.

What it does

  • Track workouts over time, including weight, sets, and reps.
  • Visualize progress with interactive graphs that help you see your improvements.
  • Share progress with friends and inspire each other.
  • Announces achievements so that you can celebrate milestones with your followers.

How we built it

  • Backend: Flask for the API, PostgreSQL for the database, and AWS EC2 for cloud hosting.
  • Frontend: TypeScript, React + Vite for fast development, and Tailwind CSS for sleek and responsive UI design.

Challenges we ran into

  • Web development experience: We're not experienced web developers, so we had to learn and adapt quickly.
  • Dependency issues: Managing dependencies and ensuring everything works smoothly across the frontend and backend was challenging but rewarding.

Accomplishments that we're proud of

  • Successfully integrating AWS to host our PostgreSQL database on an EC2 instance, which was a key part of the app's scalability and reliability.

What we learned

  • Backend/DB setup: Setting up a solid backend and working with databases is crucial for app functionality.
  • DB planning: Effective database design is essential to ensure data flows smoothly through the application.
  • Full-stack application planning: The experience of designing a large-scale app from scratch has helped us understand the intricacies of full-stack development.
  • React: We gained hands-on experience with React, improving our frontend development skills significantly.

What's next for Uplift

  • Enhancing security: We'll be strengthening the security of our backend to ensure user data is safe and secure.
  • Improving robustness: Making the app more stable and scalable as we add more features.
  • Profile enhancements: Allow users to post text, images, and videos to their profiles.
  • A social feed: Creating a feed where users can see posts from the people they follow, further fostering community interaction.
  • Post reactions: Adding emoji-based reactions to posts, so users can express themselves and engage with others in a fun way.
Share this project:

Updates