post titan

A little while ago I wrote briefly about why I built Titan Workout Tracker. In this post I’d like to dive a little deeper into the philosophy that’s shaped the app’s development. This app is a culmination of two of my interests, technology and weightlifting. It’s a tool designed to make workout tracking effortless, enjoyable, and truly user-centric.

My Personal Fitness Journey

My weightlifting journey began in university, where the gym became my go-to for stress relief and maintaining a healthy balance amidst academic pressures and social commitments. Yet, maintaining consistency was always challenging. Over the years, my commitment fluctuated, marked by prolonged periods of inactivity lasting one to two years at times. Friends often humorously point out that my gym membership since 2011 has resulted in an absurdly high average cost per workout session.

Throughout these years, I experimented with various tracking methods to maintain motivation and monitor progress. Initially, I relied on Google Sheets, which quickly became cumbersome due to tedious manual entry and limited analytical capabilities. I then explored numerous workout-tracking apps, but each came with notable drawbacks. Many were overly complex, crowded with unnecessary features, or lacked crucial functionality. Others were restrictive, prohibitively expensive, or did not support data export, raising concerns about long-term data ownership—a significant issue for a lifelong habit like fitness.

Identifying the opportunity

Identifying these limitations inspired me to take a crack at building something even better. It wasn’t just about creating another app; it was about crafting a tool that genuinely addressed the pain points I and many others faced. This project also presented a chance for me to exercise my product development skills, merging my passion for fitness, technology and the craft of building Product. I thought it would also give me an opportunity to learn a little bit about domains I have limited experience with - things like marketing and customer support.

In order to create an exceptional app, I decided to prioritize a few fundamental principles:

Balancing simplicity with functionality

I struggle to name a product I enjoy using that does not embrace simplicity. The best products solve problems without overcomplicating the user experience. For Titan, the user interface had to be as simple and intuitive as possible. It should be obvious how to use the app without a lengthy onboarding flow.

Closely related to simplicity is functionality. Often the two tend to be a balance, but the best products can do both without compromising on either.

Practically, balancing both entails things like

  • Eliminating clutter
  • Using thoughtful information architecture
  • Designing flows with a clear picture of the jobs the user wants done
  • Using techniques like progressive disclosure to only show the UI relevant at the time. For example
    • A plate calculator is only relevant at the time of entering a weight and probably doesn’t need to be shown anywhere else
    • A ‘create a custom exercise’ flow is only relevant when adding an exercise to a workout session

Comprehensive metrics

What gets measured gets improved

— Somebody probably

I’m finding some conflicting info on the origin of this quote, but I’ve often found it to be true. I know I’m a bit of a data nerd, and I know I’m not alone here. I didn’t want to shy away from exposing as many metrics as possible, while still keeping the UI simple. To start, Titan has charts showing volume lifted, best set, number of reps etc, broken down by time and by exercise. It also has views showing charts of your heart rate during workouts, and overall workout consistency. I expect that there will be even more metrics shown in the future.

Joy & satisfaction

I wanted Titan to evoke a sense of joy and satisfaction when being used, as opposed to feeling like it was a chore. Working out is hard enough, tracking progress should not add to that.

I wanted UI elements and flows to “just work”, exactly as one would expect it to (which in software engineering terms is called the Principle of Least Astonishment).

Animations and haptics are other great ways to make flows feel satisfying. Animation isn’t an area I have a lot of experience in, but it should be fun to learn. I’ve been really impressed with animations I’ve seen in the Family Wallet app and hope to bring some of my learnings to Titan.

UI responsiveness is another area that impacts how user experiences are perceived. Interactions should be smooth, and flows should feel immediate and snappy.

Data ownership

As mentioned earlier, I think lifting is a way of life, a habit one might have for the entirety of their life. Everything changes, including technology. While I hope I have success in building the best product to track workouts right now, I don’t want my users to be chained to this technology forever. To me this means all data on the app should be easily exportable in a universal format (I used json). This should allow users to take their data with them, if / when they leave.

Thanks for reading

Building Titan has been a labor of love. I appreciate you taking the time to read this post. If you’re looking for a workout tracking app that values simplicity & functionality, I invite you to give it a try.