KyxGym Logo

Kyx Gym

Kyx Gym is a web application that helps you track your workouts and progress

Built with React, Next.js, Tailwind CSS, and Supabase

Try it

The Vision

Yes, here are already countless gym apps out there. But in my eyes they all lack something. Whilst some offer great flexibility in tracking and creating your workouts, they often lack in-depth statistics - which I as a data analyst obviously love. Another feature I was often missing is the gamifcation of workouts. I want to be able to level up and unlock new rewards whilst sweating in the gym.

So I decided to build my own gym app that satisfied the following requirements:

  • Easy to use
  • Responsive - so I can use it on my phone during workouts
  • Statistics
  • Gamification

Whilst I was at it I also decided to add a social function. You are able to add your workout buddies as friends and see their progress, achievments and latest workouts.

Technology Stack

In many of my projects, including this one, I leverage the power of React and Next.js for the front-end development. Next.js, in particular, shines in complex projects where efficient routing and state management are crucial, significantly accelerating the development process with its flexibility.
Leveraging Next.js's server-side capabilities, I opted against creating a traditional backend. Instead, I explored the potential of Supabase, utilizing it for data storage within a PostgreSQL database. Supabase's advanced features, including extended database triggers and functions, have been instrumental in implementing backend logic. This approach has streamlined processes such as reward validation, the integration of social features, and security (e.g. users can only see their own and friend's workouts) with ease.
Implementing backend logic directly within the database presents a interesting approach; however, I also think that this strategy may encounter limitations as project complexity increases.