Building a Strength Workout app from scratch: Initial steps

Deciding on the right tools, mapping out the project, mastering SQL for the first time, and navigating endpoints and APIs—this is how, as a designer, I successfully crafted a functional app.

Fernando Olivares

May 29th, 2024

Building a Strength Workout app from scratch: Initial steps

Deciding on the right tools, mapping out the project, mastering SQL for the first time, and navigating endpoints and APIs—this is how, as a designer, I successfully crafted a functional app.

Fernando Olivares

May 29th, 2024

Building a Strength Workout app from scratch: Initial steps

Deciding on the right tools, mapping out the project, mastering SQL for the first time, and navigating endpoints and APIs—this is how, as a designer, I successfully crafted a functional app.

Fernando Olivares

May 29th, 2024

Building a Strength Workout app from scratch: Initial steps

Deciding on the right tools, mapping out the project, mastering SQL for the first time, and navigating endpoints and APIs—this is how, as a designer, I successfully crafted a functional app.

Fernando Olivares

May 29th, 2024

Building a Strength Workout app from scratch: Initial steps

Deciding on the right tools, mapping out the project, mastering SQL for the first time, and navigating endpoints and APIs—this is how, as a designer, I successfully crafted a functional app.

Fernando Olivares

May 29th, 2024

Anyone close to me knows that, aside from work, I’m a fitness enthusiast. Those even closer to me know that I practice calisthenics and have an improvised home gym. I don’t like supermarkets, I enjoy tracking my meals and weight, experimenting with different diets, reading about nutrition and wellness, and keeping a journal to plan all my workouts.

Anyone close to me knows that, aside from work, I’m a fitness enthusiast. Those even closer to me know that I practice calisthenics and have an improvised home gym. I don’t like supermarkets, I enjoy tracking my meals and weight, experimenting with different diets, reading about nutrition and wellness, and keeping a journal to plan all my workouts.

Anyone close to me knows that, aside from work, I’m a fitness enthusiast. Those even closer to me know that I practice calisthenics and have an improvised home gym. I don’t like supermarkets, I enjoy tracking my meals and weight, experimenting with different diets, reading about nutrition and wellness, and keeping a journal to plan all my workouts.

Anyone close to me knows that, aside from work, I’m a fitness enthusiast. Those even closer to me know that I practice calisthenics and have an improvised home gym. I don’t like supermarkets, I enjoy tracking my meals and weight, experimenting with different diets, reading about nutrition and wellness, and keeping a journal to plan all my workouts.

Anyone close to me knows that, aside from work, I’m a fitness enthusiast. Those even closer to me know that I practice calisthenics and have an improvised home gym. I don’t like supermarkets, I enjoy tracking my meals and weight, experimenting with different diets, reading about nutrition and wellness, and keeping a journal to plan all my workouts.

Some of my workout equipment at home.

Some of my workout equipment at home.

Some of my workout equipment at home.

Some of my workout equipment at home.

Some of my workout equipment at home.

Ever since I became “health-aware,” I’ve been striving to find that perfect formula whether through diet, exercise, or supplements, that could take my fitness to the next level. As a result, I’ve become somewhat of a “tracking freak.” By the summer of 2023, and with some help from my books, improved gear (e.g. using water gallons as dumbbells), and some trial and error, I had crafted a personal workout routine, which essentially boiled down to a Push/Pull/Legs split. Alongside my job, it was a great opportunity to test my skills and ideate something that could help individuals become better versions of themselves.

Ever since I became “health-aware,” I’ve been striving to find that perfect formula whether through diet, exercise, or supplements, that could take my fitness to the next level. As a result, I’ve become somewhat of a “tracking freak.” By the summer of 2023, and with some help from my books, improved gear (e.g. using water gallons as dumbbells), and some trial and error, I had crafted a personal workout routine, which essentially boiled down to a Push/Pull/Legs split. Alongside my job, it was a great opportunity to test my skills and ideate something that could help individuals become better versions of themselves.

Ever since I became “health-aware,” I’ve been striving to find that perfect formula whether through diet, exercise, or supplements, that could take my fitness to the next level. As a result, I’ve become somewhat of a “tracking freak.” By the summer of 2023, and with some help from my books, improved gear (e.g. using water gallons as dumbbells), and some trial and error, I had crafted a personal workout routine, which essentially boiled down to a Push/Pull/Legs split. Alongside my job, it was a great opportunity to test my skills and ideate something that could help individuals become better versions of themselves.

Ever since I became “health-aware,” I’ve been striving to find that perfect formula whether through diet, exercise, or supplements, that could take my fitness to the next level. As a result, I’ve become somewhat of a “tracking freak.” By the summer of 2023, and with some help from my books, improved gear (e.g. using water gallons as dumbbells), and some trial and error, I had crafted a personal workout routine, which essentially boiled down to a Push/Pull/Legs split. Alongside my job, it was a great opportunity to test my skills and ideate something that could help individuals become better versions of themselves.

Ever since I became “health-aware,” I’ve been striving to find that perfect formula whether through diet, exercise, or supplements, that could take my fitness to the next level. As a result, I’ve become somewhat of a “tracking freak.” By the summer of 2023, and with some help from my books, improved gear (e.g. using water gallons as dumbbells), and some trial and error, I had crafted a personal workout routine, which essentially boiled down to a Push/Pull/Legs split. Alongside my job, it was a great opportunity to test my skills and ideate something that could help individuals become better versions of themselves.

Tools and planning

For the brainstorming sessions, I relied on ChatGPT. Using its voice chat feature made the exchange of ideas feel natural. For technical challenges, I turned to YouTube and relied on the documentation for every tool I used. For the frontend, I naturally opted for Bravo Studio, the tool I was most familiar with at the time. Initially, I experimented with Airtable for the backend, but I found that its endpoint management didn’t align well with my requirements when connecting with Bravo Studio. Therefore, I quickly transitioned to Xano, which I knew to be more robust and reliable for handling complex logic. For regular tasks such as designing, I used Figma, and for planning, I relied on Google Workspace. Other tools I used along the way included Zoho Mail, ConvertKit, and Feather Icons for iconography.

Tools and planning

For the brainstorming sessions, I relied on ChatGPT. Using its voice chat feature made the exchange of ideas feel natural. For technical challenges, I turned to YouTube and relied on the documentation for every tool I used. For the frontend, I naturally opted for Bravo Studio, the tool I was most familiar with at the time. Initially, I experimented with Airtable for the backend, but I found that its endpoint management didn’t align well with my requirements when connecting with Bravo Studio. Therefore, I quickly transitioned to Xano, which I knew to be more robust and reliable for handling complex logic. For regular tasks such as designing, I used Figma, and for planning, I relied on Google Workspace. Other tools I used along the way included Zoho Mail, ConvertKit, and Feather Icons for iconography.

Tools and planning

For the brainstorming sessions, I relied on ChatGPT. Using its voice chat feature made the exchange of ideas feel natural. For technical challenges, I turned to YouTube and relied on the documentation for every tool I used. For the frontend, I naturally opted for Bravo Studio, the tool I was most familiar with at the time. Initially, I experimented with Airtable for the backend, but I found that its endpoint management didn’t align well with my requirements when connecting with Bravo Studio. Therefore, I quickly transitioned to Xano, which I knew to be more robust and reliable for handling complex logic. For regular tasks such as designing, I used Figma, and for planning, I relied on Google Workspace. Other tools I used along the way included Zoho Mail, ConvertKit, and Feather Icons for iconography.

Tools and planning

For the brainstorming sessions, I relied on ChatGPT. Using its voice chat feature made the exchange of ideas feel natural. For technical challenges, I turned to YouTube and relied on the documentation for every tool I used. For the frontend, I naturally opted for Bravo Studio, the tool I was most familiar with at the time. Initially, I experimented with Airtable for the backend, but I found that its endpoint management didn’t align well with my requirements when connecting with Bravo Studio. Therefore, I quickly transitioned to Xano, which I knew to be more robust and reliable for handling complex logic. For regular tasks such as designing, I used Figma, and for planning, I relied on Google Workspace. Other tools I used along the way included Zoho Mail, ConvertKit, and Feather Icons for iconography.

Tools and planning

For the brainstorming sessions, I relied on ChatGPT. Using its voice chat feature made the exchange of ideas feel natural. For technical challenges, I turned to YouTube and relied on the documentation for every tool I used. For the frontend, I naturally opted for Bravo Studio, the tool I was most familiar with at the time. Initially, I experimented with Airtable for the backend, but I found that its endpoint management didn’t align well with my requirements when connecting with Bravo Studio. Therefore, I quickly transitioned to Xano, which I knew to be more robust and reliable for handling complex logic. For regular tasks such as designing, I used Figma, and for planning, I relied on Google Workspace. Other tools I used along the way included Zoho Mail, ConvertKit, and Feather Icons for iconography.

Update - Aug. 2024: Frontend migration to Flutterflow

Due to the complexity of the application, I later had to migrate the frontend from Bravo Studio to Flutterflow. Frontend is now hosted in Flutterflow.

Figma design file during the app building process.

Figma design file during the app building process.

Figma design file during the app building process.

Figma design file during the app building process.

Figma design file during the app building process.

In terms of APIs, I used Firebase for the registration and login process, TimeAPI to manage timestamps and geolocation, and ImageKit.io for image hosting and resolution management. For benchmarking and research, I downloaded fitness tools from the App Store and Play Store, and explored ideas through Google.

In terms of APIs, I used Firebase for the registration and login process, TimeAPI to manage timestamps and geolocation, and ImageKit.io for image hosting and resolution management. For benchmarking and research, I downloaded fitness tools from the App Store and Play Store, and explored ideas through Google.

In terms of APIs, I used Firebase for the registration and login process, TimeAPI to manage timestamps and geolocation, and ImageKit.io for image hosting and resolution management. For benchmarking and research, I downloaded fitness tools from the App Store and Play Store, and explored ideas through Google.

In terms of APIs, I used Firebase for the registration and login process, TimeAPI to manage timestamps and geolocation, and ImageKit.io for image hosting and resolution management. For benchmarking and research, I downloaded fitness tools from the App Store and Play Store, and explored ideas through Google.

In terms of APIs, I used Firebase for the registration and login process, TimeAPI to manage timestamps and geolocation, and ImageKit.io for image hosting and resolution management. For benchmarking and research, I downloaded fitness tools from the App Store and Play Store, and explored ideas through Google.

Summary

The tools I used were: ChatGPT, YouTube, Bravo Studio, Flutterflow, Xano, Figma, Google Workspace, Zoho Mail, ConvertKit, Feather Icons, Firebase, TimeAPI and ImageKit.io. For research and benchmarking, I downloaded multiple fitness tools from the App Store and Play Store, and relied on Google.

Summary

The tools I used were: ChatGPT, YouTube, Bravo Studio, Flutterflow, Xano, Figma, Google Workspace, Zoho Mail, ConvertKit, Feather Icons, Firebase, TimeAPI and ImageKit.io. For research and benchmarking, I downloaded multiple fitness tools from the App Store and Play Store, and relied on Google.

Summary

The tools I used were: ChatGPT, YouTube, Bravo Studio, Flutterflow, Xano, Figma, Google Workspace, Zoho Mail, ConvertKit, Feather Icons, Firebase, TimeAPI and ImageKit.io. For research and benchmarking, I downloaded multiple fitness tools from the App Store and Play Store, and relied on Google.

Summary

The tools I used were: ChatGPT, YouTube, Bravo Studio, Flutterflow, Xano, Figma, Google Workspace, Zoho Mail, ConvertKit, Feather Icons, Firebase, TimeAPI and ImageKit.io. For research and benchmarking, I downloaded multiple fitness tools from the App Store and Play Store, and relied on Google.

Summary

The tools I used were: ChatGPT, YouTube, Bravo Studio, Flutterflow, Xano, Figma, Google Workspace, Zoho Mail, ConvertKit, Feather Icons, Firebase, TimeAPI and ImageKit.io. For research and benchmarking, I downloaded multiple fitness tools from the App Store and Play Store, and relied on Google.

Problem definition

I began to explore and brainstorm what it was that I wanted to achieve. It didn't take long for me to realize that, when it comes to improving strength, counting with data and a solid log of activities was the first thing to achieve. For weeks before jumping into this project, I used notepads and a whiteboard to track all workout progress. I later found out better solutions for this, such as using Google Calendar to plan, log, and track all my training sessions. Although these were clever solutions, I wanted to develop something more optimal, something thoughtfully designed from end-to-end.

Problem definition

I began to explore and brainstorm what it was that I wanted to achieve. It didn't take long for me to realize that, when it comes to improving strength, counting with data and a solid log of activities was the first thing to achieve. For weeks before jumping into this project, I used notepads and a whiteboard to track all workout progress. I later found out better solutions for this, such as using Google Calendar to plan, log, and track all my training sessions. Although these were clever solutions, I wanted to develop something more optimal, something thoughtfully designed from end-to-end.

Problem definition

I began to explore and brainstorm what it was that I wanted to achieve. It didn't take long for me to realize that, when it comes to improving strength, counting with data and a solid log of activities was the first thing to achieve. For weeks before jumping into this project, I used notepads and a whiteboard to track all workout progress. I later found out better solutions for this, such as using Google Calendar to plan, log, and track all my training sessions. Although these were clever solutions, I wanted to develop something more optimal, something thoughtfully designed from end-to-end.

Problem definition

I began to explore and brainstorm what it was that I wanted to achieve. It didn't take long for me to realize that, when it comes to improving strength, counting with data and a solid log of activities was the first thing to achieve. For weeks before jumping into this project, I used notepads and a whiteboard to track all workout progress. I later found out better solutions for this, such as using Google Calendar to plan, log, and track all my training sessions. Although these were clever solutions, I wanted to develop something more optimal, something thoughtfully designed from end-to-end.

Problem definition

I began to explore and brainstorm what it was that I wanted to achieve. It didn't take long for me to realize that, when it comes to improving strength, counting with data and a solid log of activities was the first thing to achieve. For weeks before jumping into this project, I used notepads and a whiteboard to track all workout progress. I later found out better solutions for this, such as using Google Calendar to plan, log, and track all my training sessions. Although these were clever solutions, I wanted to develop something more optimal, something thoughtfully designed from end-to-end.

Recurrent week planning on my personal calendar.

Recurrent week planning on my personal calendar.

Recurrent week planning on my personal calendar.

Recurrent week planning on my personal calendar.

Recurrent week planning on my personal calendar.

Summary

I identified the core of my problem as the “inability to keep track of my strength workouts”. This made it hard for me to set new goals and push myself through every training.

Summary

I identified the core of my problem as the “inability to keep track of my strength workouts”. This made it hard for me to set new goals and push myself through every training.

Summary

I identified the core of my problem as the “inability to keep track of my strength workouts”. This made it hard for me to set new goals and push myself through every training.

Summary

I identified the core of my problem as the “inability to keep track of my strength workouts”. This made it hard for me to set new goals and push myself through every training.

Summary

I identified the core of my problem as the “inability to keep track of my strength workouts”. This made it hard for me to set new goals and push myself through every training.

Market Research & Figuring out an MVP

Hands on the problem, I needed to explore existing solutions. So, I went online and browsed the Apple Store and Play Store. I quickly found several great apps, such as Freeletics, Alpha Progression, Hevy, Progression, My Workout Plan, FitHero, ProFit, Fitify, RepCount, among others. All of these apps were focused on tracking and improving workouts. At this moment, I realized that creating a "unique" solution with enough value to stand out in its first iteration would be challenging. This is where my intensive brainstorming began. Initially, I discovered that almost all of these apps had a major issue: from my point of view, they weren't very easy to use. Their solutions were “too technical” and felt as if they were designed from “theory-to-engineer” without considering the real user experience of a strength workout. However, I quickly spotted an exception: Alpha Progression, which impressed me with its simple interface and user-friendly approach to workout problems. Still, I saw room for improvement. To be honest, I had a gut feeling that the true value of the app would be realized when it could guide users on what to do and how to do it, considering various factors like different muscle groups, intensity, and rest. I knew that not everyone is a fitness enthusiast who reads workout books, creates their own routines, or designs their own diets. Though to get there, by this point, I was certain that the first step was to log and track "My Overload History".

Market Research & Figuring out an MVP

Hands on the problem, I needed to explore existing solutions. So, I went online and browsed the Apple Store and Play Store. I quickly found several great apps, such as Freeletics, Alpha Progression, Hevy, Progression, My Workout Plan, FitHero, ProFit, Fitify, RepCount, among others. All of these apps were focused on tracking and improving workouts. At this moment, I realized that creating a "unique" solution with enough value to stand out in its first iteration would be challenging. This is where my intensive brainstorming began. Initially, I discovered that almost all of these apps had a major issue: from my point of view, they weren't very easy to use. Their solutions were “too technical” and felt as if they were designed from “theory-to-engineer” without considering the real user experience of a strength workout. However, I quickly spotted an exception: Alpha Progression, which impressed me with its simple interface and user-friendly approach to workout problems. Still, I saw room for improvement. To be honest, I had a gut feeling that the true value of the app would be realized when it could guide users on what to do and how to do it, considering various factors like different muscle groups, intensity, and rest. I knew that not everyone is a fitness enthusiast who reads workout books, creates their own routines, or designs their own diets. Though to get there, by this point, I was certain that the first step was to log and track "My Overload History".

Market Research & Figuring out an MVP

Hands on the problem, I needed to explore existing solutions. So, I went online and browsed the Apple Store and Play Store. I quickly found several great apps, such as Freeletics, Alpha Progression, Hevy, Progression, My Workout Plan, FitHero, ProFit, Fitify, RepCount, among others. All of these apps were focused on tracking and improving workouts. At this moment, I realized that creating a "unique" solution with enough value to stand out in its first iteration would be challenging. This is where my intensive brainstorming began. Initially, I discovered that almost all of these apps had a major issue: from my point of view, they weren't very easy to use. Their solutions were “too technical” and felt as if they were designed from “theory-to-engineer” without considering the real user experience of a strength workout. However, I quickly spotted an exception: Alpha Progression, which impressed me with its simple interface and user-friendly approach to workout problems. Still, I saw room for improvement. To be honest, I had a gut feeling that the true value of the app would be realized when it could guide users on what to do and how to do it, considering various factors like different muscle groups, intensity, and rest. I knew that not everyone is a fitness enthusiast who reads workout books, creates their own routines, or designs their own diets. Though to get there, by this point, I was certain that the first step was to log and track "My Overload History".

Market Research & Figuring out an MVP

Hands on the problem, I needed to explore existing solutions. So, I went online and browsed the Apple Store and Play Store. I quickly found several great apps, such as Freeletics, Alpha Progression, Hevy, Progression, My Workout Plan, FitHero, ProFit, Fitify, RepCount, among others. All of these apps were focused on tracking and improving workouts. At this moment, I realized that creating a "unique" solution with enough value to stand out in its first iteration would be challenging. This is where my intensive brainstorming began. Initially, I discovered that almost all of these apps had a major issue: from my point of view, they weren't very easy to use. Their solutions were “too technical” and felt as if they were designed from “theory-to-engineer” without considering the real user experience of a strength workout. However, I quickly spotted an exception: Alpha Progression, which impressed me with its simple interface and user-friendly approach to workout problems. Still, I saw room for improvement. To be honest, I had a gut feeling that the true value of the app would be realized when it could guide users on what to do and how to do it, considering various factors like different muscle groups, intensity, and rest. I knew that not everyone is a fitness enthusiast who reads workout books, creates their own routines, or designs their own diets. Though to get there, by this point, I was certain that the first step was to log and track "My Overload History".

Market Research & Figuring out an MVP

Hands on the problem, I needed to explore existing solutions. So, I went online and browsed the Apple Store and Play Store. I quickly found several great apps, such as Freeletics, Alpha Progression, Hevy, Progression, My Workout Plan, FitHero, ProFit, Fitify, RepCount, among others. All of these apps were focused on tracking and improving workouts. At this moment, I realized that creating a "unique" solution with enough value to stand out in its first iteration would be challenging. This is where my intensive brainstorming began. Initially, I discovered that almost all of these apps had a major issue: from my point of view, they weren't very easy to use. Their solutions were “too technical” and felt as if they were designed from “theory-to-engineer” without considering the real user experience of a strength workout. However, I quickly spotted an exception: Alpha Progression, which impressed me with its simple interface and user-friendly approach to workout problems. Still, I saw room for improvement. To be honest, I had a gut feeling that the true value of the app would be realized when it could guide users on what to do and how to do it, considering various factors like different muscle groups, intensity, and rest. I knew that not everyone is a fitness enthusiast who reads workout books, creates their own routines, or designs their own diets. Though to get there, by this point, I was certain that the first step was to log and track "My Overload History".

My Overload History logo.

My Overload History logo.

My Overload History logo.

My Overload History logo.

My Overload History logo.

Update - Aug. 2024: Scope expansion and name update

The scope of "My Overload History" has grown over time. As a result, the project is now called "FitDots", and it aims to serve as a bridge between the fitness and healthcare industries.

"My Overload History" quickly became the name of this initial version, the minimum viable product (MVP), though I'm certain this name will change as the app's scope has grown over time. Today, I can proudly say that I have a solid but flexible roadmap that may provide direction for at least the first few years of transitioning to a company. However, this is a conversation for another entry.

"My Overload History" quickly became the name of this initial version, the minimum viable product (MVP), though I'm certain this name will change as the app's scope has grown over time. Today, I can proudly say that I have a solid but flexible roadmap that may provide direction for at least the first few years of transitioning to a company. However, this is a conversation for another entry.

"My Overload History" quickly became the name of this initial version, the minimum viable product (MVP), though I'm certain this name will change as the app's scope has grown over time. Today, I can proudly say that I have a solid but flexible roadmap that may provide direction for at least the first few years of transitioning to a company. However, this is a conversation for another entry.

"My Overload History" quickly became the name of this initial version, the minimum viable product (MVP), though I'm certain this name will change as the app's scope has grown over time. Today, I can proudly say that I have a solid but flexible roadmap that may provide direction for at least the first few years of transitioning to a company. However, this is a conversation for another entry.

"My Overload History" quickly became the name of this initial version, the minimum viable product (MVP), though I'm certain this name will change as the app's scope has grown over time. Today, I can proudly say that I have a solid but flexible roadmap that may provide direction for at least the first few years of transitioning to a company. However, this is a conversation for another entry.

Summary

To find existing solutions, I browsed through the Apple Store and Play Store. I found several options, but I saw room for improvement. I realized that the MVP needed to focus on logging and tracking "My Overload History," which eventually became the app's name.

Summary

To find existing solutions, I browsed through the Apple Store and Play Store. I found several options, but I saw room for improvement. I realized that the MVP needed to focus on logging and tracking "My Overload History," which eventually became the app's name.

Summary

To find existing solutions, I browsed through the Apple Store and Play Store. I found several options, but I saw room for improvement. I realized that the MVP needed to focus on logging and tracking "My Overload History," which eventually became the app's name.

Summary

To find existing solutions, I browsed through the Apple Store and Play Store. I found several options, but I saw room for improvement. I realized that the MVP needed to focus on logging and tracking "My Overload History," which eventually became the app's name.

Summary

To find existing solutions, I browsed through the Apple Store and Play Store. I found several options, but I saw room for improvement. I realized that the MVP needed to focus on logging and tracking "My Overload History," which eventually became the app's name.

Scoping the MVP

In order to build value, and to deliver it fast, I had to rely on my experience, with a strong background in Product Design, it was clear for me that this gave me a solid advantage. My vision was to create a seamless user experience, which helped users to focus on their workouts rather than learning how to use the tool. I wanted to create an “invisible interface”. I know what you are thinking, “invisible” would mean that users won’t see it, and perhaps you might think of voice commands or the Apple Watch’s Double Tap… But no, even though I’m keen to explore those, for now I was good with “background interface”, and again you might think that I’m not coming to the point, but I have to insist, because it is important, I really want you to catch the idea. After doing a few experiments, training by myself while logging in my workouts in my notepads, whiteboard and Google Calendar, I found that I needed a workout tool that wouldn't feel intrusive. It had to be like it's not even there, quietly guiding me in the background (see what I meant by “background interface”, “invisible interface”, etc.). This tool would tell me what to do, especially the first few times, as in my experience I have seen that once you get the technique, the rest is practice. So, I gradually understood that during my workouts, between sets and sets, my ideal interaction could come in the form of a tap, but not just any tap; I didn’t want to think on which exercise to tap or to find the one I was doing. I wanted a seamless experience where one tap would guide me through my current set and automatically transition to the instructions of my next set or exercise, if this was the last set in a series.

Scoping the MVP

In order to build value, and to deliver it fast, I had to rely on my experience, with a strong background in Product Design, it was clear for me that this gave me a solid advantage. My vision was to create a seamless user experience, which helped users to focus on their workouts rather than learning how to use the tool. I wanted to create an “invisible interface”. I know what you are thinking, “invisible” would mean that users won’t see it, and perhaps you might think of voice commands or the Apple Watch’s Double Tap… But no, even though I’m keen to explore those, for now I was good with “background interface”, and again you might think that I’m not coming to the point, but I have to insist, because it is important, I really want you to catch the idea. After doing a few experiments, training by myself while logging in my workouts in my notepads, whiteboard and Google Calendar, I found that I needed a workout tool that wouldn't feel intrusive. It had to be like it's not even there, quietly guiding me in the background (see what I meant by “background interface”, “invisible interface”, etc.). This tool would tell me what to do, especially the first few times, as in my experience I have seen that once you get the technique, the rest is practice. So, I gradually understood that during my workouts, between sets and sets, my ideal interaction could come in the form of a tap, but not just any tap; I didn’t want to think on which exercise to tap or to find the one I was doing. I wanted a seamless experience where one tap would guide me through my current set and automatically transition to the instructions of my next set or exercise, if this was the last set in a series.

Scoping the MVP

In order to build value, and to deliver it fast, I had to rely on my experience, with a strong background in Product Design, it was clear for me that this gave me a solid advantage. My vision was to create a seamless user experience, which helped users to focus on their workouts rather than learning how to use the tool. I wanted to create an “invisible interface”. I know what you are thinking, “invisible” would mean that users won’t see it, and perhaps you might think of voice commands or the Apple Watch’s Double Tap… But no, even though I’m keen to explore those, for now I was good with “background interface”, and again you might think that I’m not coming to the point, but I have to insist, because it is important, I really want you to catch the idea. After doing a few experiments, training by myself while logging in my workouts in my notepads, whiteboard and Google Calendar, I found that I needed a workout tool that wouldn't feel intrusive. It had to be like it's not even there, quietly guiding me in the background (see what I meant by “background interface”, “invisible interface”, etc.). This tool would tell me what to do, especially the first few times, as in my experience I have seen that once you get the technique, the rest is practice. So, I gradually understood that during my workouts, between sets and sets, my ideal interaction could come in the form of a tap, but not just any tap; I didn’t want to think on which exercise to tap or to find the one I was doing. I wanted a seamless experience where one tap would guide me through my current set and automatically transition to the instructions of my next set or exercise, if this was the last set in a series.

Scoping the MVP

In order to build value, and to deliver it fast, I had to rely on my experience, with a strong background in Product Design, it was clear for me that this gave me a solid advantage. My vision was to create a seamless user experience, which helped users to focus on their workouts rather than learning how to use the tool. I wanted to create an “invisible interface”. I know what you are thinking, “invisible” would mean that users won’t see it, and perhaps you might think of voice commands or the Apple Watch’s Double Tap… But no, even though I’m keen to explore those, for now I was good with “background interface”, and again you might think that I’m not coming to the point, but I have to insist, because it is important, I really want you to catch the idea. After doing a few experiments, training by myself while logging in my workouts in my notepads, whiteboard and Google Calendar, I found that I needed a workout tool that wouldn't feel intrusive. It had to be like it's not even there, quietly guiding me in the background (see what I meant by “background interface”, “invisible interface”, etc.). This tool would tell me what to do, especially the first few times, as in my experience I have seen that once you get the technique, the rest is practice. So, I gradually understood that during my workouts, between sets and sets, my ideal interaction could come in the form of a tap, but not just any tap; I didn’t want to think on which exercise to tap or to find the one I was doing. I wanted a seamless experience where one tap would guide me through my current set and automatically transition to the instructions of my next set or exercise, if this was the last set in a series.

Scoping the MVP

In order to build value, and to deliver it fast, I had to rely on my experience, with a strong background in Product Design, it was clear for me that this gave me a solid advantage. My vision was to create a seamless user experience, which helped users to focus on their workouts rather than learning how to use the tool. I wanted to create an “invisible interface”. I know what you are thinking, “invisible” would mean that users won’t see it, and perhaps you might think of voice commands or the Apple Watch’s Double Tap… But no, even though I’m keen to explore those, for now I was good with “background interface”, and again you might think that I’m not coming to the point, but I have to insist, because it is important, I really want you to catch the idea. After doing a few experiments, training by myself while logging in my workouts in my notepads, whiteboard and Google Calendar, I found that I needed a workout tool that wouldn't feel intrusive. It had to be like it's not even there, quietly guiding me in the background (see what I meant by “background interface”, “invisible interface”, etc.). This tool would tell me what to do, especially the first few times, as in my experience I have seen that once you get the technique, the rest is practice. So, I gradually understood that during my workouts, between sets and sets, my ideal interaction could come in the form of a tap, but not just any tap; I didn’t want to think on which exercise to tap or to find the one I was doing. I wanted a seamless experience where one tap would guide me through my current set and automatically transition to the instructions of my next set or exercise, if this was the last set in a series.

Set logger screen, core of the MVP.

Set logger screen, core of the MVP.

Set logger screen, core of the MVP.

Set logger screen, core of the MVP.

Set logger screen, core of the MVP.

Reasoning which soon led me to the, already developed, “single-tap-per-set logger button”. This button would enable users to focus on their workout instead of spending time learning how to use the tool. It became the core of the MVP.

Reasoning which soon led me to the, already developed, “single-tap-per-set logger button”. This button would enable users to focus on their workout instead of spending time learning how to use the tool. It became the core of the MVP.

Reasoning which soon led me to the, already developed, “single-tap-per-set logger button”. This button would enable users to focus on their workout instead of spending time learning how to use the tool. It became the core of the MVP.

Reasoning which soon led me to the, already developed, “single-tap-per-set logger button”. This button would enable users to focus on their workout instead of spending time learning how to use the tool. It became the core of the MVP.

Reasoning which soon led me to the, already developed, “single-tap-per-set logger button”. This button would enable users to focus on their workout instead of spending time learning how to use the tool. It became the core of the MVP.

Summary

Because I had limited resources, I relied on my previous experience, particularly my background in Product Design, to make decisions. I developed a seamless user interface that encouraged users to tap between sets to log their workouts, which became the core feature of the MVP.

Summary

Because I had limited resources, I relied on my previous experience, particularly my background in Product Design, to make decisions. I developed a seamless user interface that encouraged users to tap between sets to log their workouts, which became the core feature of the MVP.

Summary

Because I had limited resources, I relied on my previous experience, particularly my background in Product Design, to make decisions. I developed a seamless user interface that encouraged users to tap between sets to log their workouts, which became the core feature of the MVP.

Summary

Because I had limited resources, I relied on my previous experience, particularly my background in Product Design, to make decisions. I developed a seamless user interface that encouraged users to tap between sets to log their workouts, which became the core feature of the MVP.

Summary

Because I had limited resources, I relied on my previous experience, particularly my background in Product Design, to make decisions. I developed a seamless user interface that encouraged users to tap between sets to log their workouts, which became the core feature of the MVP.

Join FitDot's beta testers community now!

Join FitDot's beta testers community now!

Join FitDot's beta testers community now!

Join FitDot's beta testers community now!

Join FitDot's beta testers community now!

Understanding SQL and the Anatomy of Workout Routines

Alright, I had my seamless user experience, which wasn't surprising to be my first step given my background in Product Design. However, now came the moment of truth: making it work by building the backend. I was new to this and had never done it before. My knowledge of backend concepts was limited; I barely understood the practical difference between booleans and strings, when to use each, or how different tables interact with each other. Despite being a beginner, I knew one thing for sure: I needed a list of exercises. How could I provide workout routines without them? So I began. I quickly found a few free exercise databases, but I was quite picky. I wanted them to include information about related muscle groups, instructions on how to perform each exercise, required equipment, and ideally some form of visual guidance. I also thought it would be beneficial to categorize each exercise by type and difficulty level. This way, I could build upon this information after the MVP.

Understanding SQL and the Anatomy of Workout Routines

Alright, I had my seamless user experience, which wasn't surprising to be my first step given my background in Product Design. However, now came the moment of truth: making it work by building the backend. I was new to this and had never done it before. My knowledge of backend concepts was limited; I barely understood the practical difference between booleans and strings, when to use each, or how different tables interact with each other. Despite being a beginner, I knew one thing for sure: I needed a list of exercises. How could I provide workout routines without them? So I began. I quickly found a few free exercise databases, but I was quite picky. I wanted them to include information about related muscle groups, instructions on how to perform each exercise, required equipment, and ideally some form of visual guidance. I also thought it would be beneficial to categorize each exercise by type and difficulty level. This way, I could build upon this information after the MVP.

Understanding SQL and the Anatomy of Workout Routines

Alright, I had my seamless user experience, which wasn't surprising to be my first step given my background in Product Design. However, now came the moment of truth: making it work by building the backend. I was new to this and had never done it before. My knowledge of backend concepts was limited; I barely understood the practical difference between booleans and strings, when to use each, or how different tables interact with each other. Despite being a beginner, I knew one thing for sure: I needed a list of exercises. How could I provide workout routines without them? So I began. I quickly found a few free exercise databases, but I was quite picky. I wanted them to include information about related muscle groups, instructions on how to perform each exercise, required equipment, and ideally some form of visual guidance. I also thought it would be beneficial to categorize each exercise by type and difficulty level. This way, I could build upon this information after the MVP.

Understanding SQL and the Anatomy of Workout Routines

Alright, I had my seamless user experience, which wasn't surprising to be my first step given my background in Product Design. However, now came the moment of truth: making it work by building the backend. I was new to this and had never done it before. My knowledge of backend concepts was limited; I barely understood the practical difference between booleans and strings, when to use each, or how different tables interact with each other. Despite being a beginner, I knew one thing for sure: I needed a list of exercises. How could I provide workout routines without them? So I began. I quickly found a few free exercise databases, but I was quite picky. I wanted them to include information about related muscle groups, instructions on how to perform each exercise, required equipment, and ideally some form of visual guidance. I also thought it would be beneficial to categorize each exercise by type and difficulty level. This way, I could build upon this information after the MVP.

Understanding SQL and the Anatomy of Workout Routines

Alright, I had my seamless user experience, which wasn't surprising to be my first step given my background in Product Design. However, now came the moment of truth: making it work by building the backend. I was new to this and had never done it before. My knowledge of backend concepts was limited; I barely understood the practical difference between booleans and strings, when to use each, or how different tables interact with each other. Despite being a beginner, I knew one thing for sure: I needed a list of exercises. How could I provide workout routines without them? So I began. I quickly found a few free exercise databases, but I was quite picky. I wanted them to include information about related muscle groups, instructions on how to perform each exercise, required equipment, and ideally some form of visual guidance. I also thought it would be beneficial to categorize each exercise by type and difficulty level. This way, I could build upon this information after the MVP.

Raw database after appropiating it from "yuhonas" on GitHub.

Raw database after appropiating it from "yuhonas" on GitHub.

Raw database after appropiating it from "yuhonas" on GitHub.

Raw database after appropiating it from "yuhonas" on GitHub.

Raw database after appropiating it from "yuhonas" on GitHub.

And there it was, thanks to the "free-exercise-db" by "yuhonas" on GitHub, I had found a database that checked all my boxes and was free. However, it had two problems for my use case. First, it couldn't be used in Xano as it wasn't SQL-adapted. Second, it had a bunch of images in file form. Fortunately, the names of the images matched the related exercises, which proved useful later on for generating the right API calls and displaying the correct images. I soon realized that while I had found the foundation, I still had a lot of work to make it usable. So, I began by appropriating the data and formatting it for my needs. I also downloaded the images and hosted them on my own server using ImageKit.io, which provided tools for resolution handling and ensured fast delivery of the right images. It was working. I had a database, a solid design prototype, and a defined MVP. Now it was time to connect the dots, sit down, and understand how to make the functions interact with data in SQL and configure the endpoints.

And there it was, thanks to the "free-exercise-db" by "yuhonas" on GitHub, I had found a database that checked all my boxes and was free. However, it had two problems for my use case. First, it couldn't be used in Xano as it wasn't SQL-adapted. Second, it had a bunch of images in file form. Fortunately, the names of the images matched the related exercises, which proved useful later on for generating the right API calls and displaying the correct images. I soon realized that while I had found the foundation, I still had a lot of work to make it usable. So, I began by appropriating the data and formatting it for my needs. I also downloaded the images and hosted them on my own server using ImageKit.io, which provided tools for resolution handling and ensured fast delivery of the right images. It was working. I had a database, a solid design prototype, and a defined MVP. Now it was time to connect the dots, sit down, and understand how to make the functions interact with data in SQL and configure the endpoints.

And there it was, thanks to the "free-exercise-db" by "yuhonas" on GitHub, I had found a database that checked all my boxes and was free. However, it had two problems for my use case. First, it couldn't be used in Xano as it wasn't SQL-adapted. Second, it had a bunch of images in file form. Fortunately, the names of the images matched the related exercises, which proved useful later on for generating the right API calls and displaying the correct images. I soon realized that while I had found the foundation, I still had a lot of work to make it usable. So, I began by appropriating the data and formatting it for my needs. I also downloaded the images and hosted them on my own server using ImageKit.io, which provided tools for resolution handling and ensured fast delivery of the right images. It was working. I had a database, a solid design prototype, and a defined MVP. Now it was time to connect the dots, sit down, and understand how to make the functions interact with data in SQL and configure the endpoints.

And there it was, thanks to the "free-exercise-db" by "yuhonas" on GitHub, I had found a database that checked all my boxes and was free. However, it had two problems for my use case. First, it couldn't be used in Xano as it wasn't SQL-adapted. Second, it had a bunch of images in file form. Fortunately, the names of the images matched the related exercises, which proved useful later on for generating the right API calls and displaying the correct images. I soon realized that while I had found the foundation, I still had a lot of work to make it usable. So, I began by appropriating the data and formatting it for my needs. I also downloaded the images and hosted them on my own server using ImageKit.io, which provided tools for resolution handling and ensured fast delivery of the right images. It was working. I had a database, a solid design prototype, and a defined MVP. Now it was time to connect the dots, sit down, and understand how to make the functions interact with data in SQL and configure the endpoints.

And there it was, thanks to the "free-exercise-db" by "yuhonas" on GitHub, I had found a database that checked all my boxes and was free. However, it had two problems for my use case. First, it couldn't be used in Xano as it wasn't SQL-adapted. Second, it had a bunch of images in file form. Fortunately, the names of the images matched the related exercises, which proved useful later on for generating the right API calls and displaying the correct images. I soon realized that while I had found the foundation, I still had a lot of work to make it usable. So, I began by appropriating the data and formatting it for my needs. I also downloaded the images and hosted them on my own server using ImageKit.io, which provided tools for resolution handling and ensured fast delivery of the right images. It was working. I had a database, a solid design prototype, and a defined MVP. Now it was time to connect the dots, sit down, and understand how to make the functions interact with data in SQL and configure the endpoints.

"free-exercise-db" by "yuhonas" adapted to my Xano setup.

"free-exercise-db" by "yuhonas" adapted to my Xano setup.

"free-exercise-db" by "yuhonas" adapted to my Xano setup.

"free-exercise-db" by "yuhonas" adapted to my Xano setup.

"free-exercise-db" by "yuhonas" adapted to my Xano setup.

Summary

I managed to find and put together an exercise database adapted to the requirements of my MVP. This provided a solid foundation to begin building the app's functionalities.

Summary

I managed to find and put together an exercise database adapted to the requirements of my MVP. This provided a solid foundation to begin building the app's functionalities.

Summary

I managed to find and put together an exercise database adapted to the requirements of my MVP. This provided a solid foundation to begin building the app's functionalities.

Summary

I managed to find and put together an exercise database adapted to the requirements of my MVP. This provided a solid foundation to begin building the app's functionalities.

Summary

I managed to find and put together an exercise database adapted to the requirements of my MVP. This provided a solid foundation to begin building the app's functionalities.

The bottom line

During my journey of developing a strength workout app, "My Overload History," I had the chance to combine my love for fitness and technology. I wanted a better way to track my workouts, so I used my design and tech skills to start this project. I chose tools like Bravo Studio for the frontend and Xano for the backend. I also researched other fitness apps to find what was missing. My main goal was to make the app easy to use with a single-tap button to log workouts. Even though I faced challenges with the backend, I created a detailed exercise database for helpful workout guidance. This article describes the early stages of building the app.

The bottom line

During my journey of developing a strength workout app, "My Overload History," I had the chance to combine my love for fitness and technology. I wanted a better way to track my workouts, so I used my design and tech skills to start this project. I chose tools like Bravo Studio for the frontend and Xano for the backend. I also researched other fitness apps to find what was missing. My main goal was to make the app easy to use with a single-tap button to log workouts. Even though I faced challenges with the backend, I created a detailed exercise database for helpful workout guidance. This article describes the early stages of building the app.

The bottom line

During my journey of developing a strength workout app, "My Overload History," I had the chance to combine my love for fitness and technology. I wanted a better way to track my workouts, so I used my design and tech skills to start this project. I chose tools like Bravo Studio for the frontend and Xano for the backend. I also researched other fitness apps to find what was missing. My main goal was to make the app easy to use with a single-tap button to log workouts. Even though I faced challenges with the backend, I created a detailed exercise database for helpful workout guidance. This article describes the early stages of building the app.

The bottom line

During my journey of developing a strength workout app, "My Overload History," I had the chance to combine my love for fitness and technology. I wanted a better way to track my workouts, so I used my design and tech skills to start this project. I chose tools like Bravo Studio for the frontend and Xano for the backend. I also researched other fitness apps to find what was missing. My main goal was to make the app easy to use with a single-tap button to log workouts. Even though I faced challenges with the backend, I created a detailed exercise database for helpful workout guidance. This article describes the early stages of building the app.

The bottom line

During my journey of developing a strength workout app, "My Overload History," I had the chance to combine my love for fitness and technology. I wanted a better way to track my workouts, so I used my design and tech skills to start this project. I chose tools like Bravo Studio for the frontend and Xano for the backend. I also researched other fitness apps to find what was missing. My main goal was to make the app easy to use with a single-tap button to log workouts. Even though I faced challenges with the backend, I created a detailed exercise database for helpful workout guidance. This article describes the early stages of building the app.

Written by:

Fernando Olivares

Product Designer with 7+ years of experience working in Product teams.

Written by:

Fernando Olivares

Product Designer with 7+ years of experience working in Product teams.

Written by:

Fernando Olivares

Product Designer with 7+ years of experience working in Product teams.

Written by:

Fernando Olivares

Product Designer with 7+ years of experience working in Product teams.

Written by:

Fernando Olivares

Product Designer with 7+ years of experience working in Product teams.

Fernando Olivares

Product Designer

2025

Fernando Olivares

Product Designer

2025

Fernando Olivares

Product Designer

2025

Fernando Olivares

Product Designer

2025

Fernando Olivares

Product Designer

2025