In September, I began work on a new project for an idea that I’ve been kicking around for a while. With the initial MVP launch of the Review Cadence app officially out of the way, I turned my attention to something a lot more ambitious…something that was a lot more targeted in its customer base…something with a little more risk.

First a little background…

I’m the proud parent of four(!) gymnasts, I am married to a gymnastics coach, and have spent almost a decade attending countless competitions throughout Oklahoma and the surrounding states. So, needless to say - I’m neck deep in the gymnastics world at the moment.

Over the past few years, I’ve watched and helped my wife as she and the other coaches have tried to organize information about their team. Typically, they passed around spreadsheets with rosters, meet schedules and gymnasts’ scores as a way to share the information. The process just seemed chaotic and disjointed to me.

Not only that, but I’ve seen a few other gyms handle their information the same way. Traditionally, many gyms manage their rosters, meets, scores, and notes via spreadsheets and email. Information is scattered across multiple files and machines. Sharing information among coaches is cumbersome and disjointed as different versions are updated and passed around. Managing and analyzing the team’s performance becomes a chore and ensuring that all coaches are on the same page is a hassle.

It is an obvious pain point within the gymnastics world.

So, I decided to do something about it. In response to these frustrations, I leveraged my background in software development and built a tool that addresses this pain. The result was - a simple tool for managing your roster, meet schedule, and scores in a centralized, secure location.

Below is a timeline of the project from concept/design through the first demo I gave to initial users.

9/4/2021 - Official Start of the Project

The working name for the project was initially “GymTrak CRM”, but I quickly found out that there were other apps with similar names. However, I kept it as the “working” name for the first few weeks until I was ready to launch.

First, I put some of the foundational pieces of the project in place. This included:

  • Setting up a GitHub repo
  • Created project roadmap (MVP feature list)
  • Created MVP milestone release
  • Setup mvp-release branch
  • Built out the MVP ERD diagram for the data storage
  • Setup the initial .NET MVC scaffolding and stubbed out the initial entity models.

At this point, I started doing some research on best practices for building out an authentication system (I made the decision early on to implement my own rather than rely on a 3rd party service for authentication/authorization because I wanted as much control of the codebase as possible).

9/13/2021 - Sent out an initial tweet about the project:

9/17/2021 - Hook up backend DB

Up until this point, I had mocked up the database utilizing .NET Entity Framework’s InMemoryDB functionality. This allowed me to implement most of the processes and pages without having to install and set up a backend DB. The one major drawback with this is that it does not provide persistent storage.

After a few hours of research, comparing and thinking about what I needed in a backend, I decided to use the reliable MySQL engine. I stood up a local instance on my machine and used Entity Framework’s migration functionality to migrate all the data structures out to database tables.

This allowed me to begin implementing the final MVP pieces before deploying the solution to a production server for testing.

9/19/2021 - MVP Code Complete

Within just a few weeks, I was able to get all of the initial MVP functionality implemented. This was a big milestone and I immediately went into testing mode to push around on the system as much as I could before deployment.

At this point, I had also decided on using DigitalOcean (referral link) to host the site. I had already set up a droplet to run the Review Cadence site, so I was familiar with the process and felt that I could configure NGINX to host both sites on the same instance.

9/20/2021 – Day job required my focus

Murphy’s Law - Right as I was getting close to deploying the MVP release, we had an issue at my day job that required my full attention. Unfortunately, this sidelined me for almost three days.

9/23/2021 – Closed out last MVP issue in GitHub

Once I was able to turn my attention back to working on the project, I finally closed out the last issue in GitHub for the MVP milestone.

9/24/2021 – MVP Soft Launch

20 days after kicking off the project, I soft launched the service. I was still using the initial GymTrack CRM name, and the landing page and UI design were VERY basic and out-of-the-box, but I at least had something that I could show people.

10/2/2021 – Bought Domain, Finalized Name and rebranded site

After the soft launch, I took a few days and buckled down on figuring out a product name, built a new landing page, and updated the UI with new brand colors and styles.

10/6/2021 – Onboarded first beta users

Just a few days past a month, we onboarded our first beta users. I had an advantage with this stage because I had users ready to go before I even started the project.

10/12/2021 – Implemented Dashboard

Based on some of the initial feedback, I tweaked functions, tightened up a few UI elements and built a dashboard for the system.

10/14/2021 – Outlined marketing phases

After a week of fixing bugs, tweaking UI, and continuing the testing of the site, I took some time to pivot and start thinking about marketing strategies/timeline for rolling the product out to a wider audience.

I wrote out a multi-phased plan to guide my focus over the next few months. The goal was to use the remainder of the year ensuring the pilot program was a success and then do an “official” public launch toward the beginning of the year.

10/25/2021 – Gave first in-person demo

Toward the end of October, I sat down with a group of coaches and gave the first in-person demo of the product. I had a few hiccups, but in the end, things worked out well and users were excited to start really leveraging the system for the upcoming meet season.

Where do we go from here?

And here we are in the middle of November, 2021. The site has been extremely stable, I’ve had some great feedback from our pilot program users, and the system has been used for several meets already. Overall, I’m very pleased with how things have progressed.

But now I’m entering uncharted territory.

I’m completely at home building things. I’m out of my element when it comes to promotion and marketing. So, my immediate focus will be to develop a pricing structure for the product based on some of my initial market research and then build the sign-up/billing functionality into the product. Peripheral items around this will probably also include setting up a company so that the legal side of things are in place.

From there, I will zero in on the initial market research that I’ve done, begin to build out the promotional campaigns to the target audience that I’ve identified, and will figure out how to get the word out about the product.

I have to admit - it’s both exciting and a bit scary. But, I’m looking forward to the challenge. I know the product is good. I know it solves a problem. I know it provides value. The job now will be to communicate that to a wider audience.