← All Posts

5 Simple and Revealing Lessons from My First Side Project

Written by
Kyle Galbraith
Published on
21 January 2019
I have now created four different side projects that are public and accessible to the world. Each of them trying to solve a different problem or engage a different audience.
Build Docker images faster using build cache banner

I have now created four different side projects that are public and accessible to the world. Each of them trying to solve a different problem or engage a different audience.

Today I want to focus on the first side project I ever created. It’s a project I created 4 years ago, but it’s only now becoming the success I envisioned it becoming.

First, a little bit of personal background might help paint the picture of how my first side project was born.

I have raced motorcycles from pretty much the time I could walk to now. I competed all across the United States in some of the biggest events in the country. I was never the best at it, but I enjoyed the sport and made a lot of memories with a lot of incredible people.

The sport of motocross really has three levels. You have the weekend warrior level, this is the level where folks are just going out to ride or race and are looking to have a good time. There is the amateur level where riders tend to race all across the country in hopes of developing into professionals. Then you have the professional level, this is what you see on TV, the cream of the crop.

At the professional level, the sport can be thought of in two different series, Motocross, and Supercross. The latter being the one where riders compete in football and baseball stadiums all across the country to become champion. It has been the series that has really put the sport on the map and garnered a lot of attention because of it. The former is really the series that was the birth of the sport, unlike Supercross, it takes place outdoors and follows a slightly different format.

The professional level is what my first side project focuses on.

Back in 2015, I was advancing in my career as a Software Engineer and getting entrenched in the startup culture. Seeing what could be built with technology was fascinating to me and I enjoyed doing it during my day job.

But I reached a point where I wanted to do and learn even more. I wanted to build a product from the ground up to see what problems I could solve and challenges I would face. I had a desire to learn more than just the development side of things because I knew that development was only a drop in the bucket within the larger scheme.

So, I took my passion for the sport of Motocross, my passion for development, and combined them with my interest in entrepreneurship.

Ultimate Fantasy Supercross was born from the idea of blending my passion for technology and entrepreneurship with my passion for motorcycle racing. It is now the leading fantasy Supercross and Motocross platform with thousands of users using it during the respective seasons.

What is Ultimate Fantasy Supercross?

Think Fantasy Football, but for motorcycle racing.

The platform follows the professional AMA Supercross and AMA Motocross seasons. Players can purchase private leagues for a given season that allows them to compete with their closest friends all season long. Each week players in a league set their lineup and then those lineups lock right before the start of the next race in a given season. Users can then follow their lineups performance in real-time with the race.

In addition to private leagues, there is also the option to join public leagues with other users across the world. They work identically to private leagues but are not restricted to just folks you may know. These are 100% free and meant to give users a taste of fantasy Supercross and Motocross.

Unlike other platforms, my platform provides scoring in real-time, a simple interface, simple scoring, weekly scoring projections, and injury alerts. These have been the real differentiators as other platforms have tried to come into this space.

By the numbers

The past two years have been profitable for Ultimate Fantasy Supercross. These are not huge numbers, but profitable nonetheless.

But, make no mistake, the success of this project did not happen overnight.

It wasn’t until last year that the platform really caught on, mostly from organic search traffic. This led to a bit of a viral effect and thus more private league purchases. I was curious to see if this would be replicated this year and early numbers indicate, yes.

stripe numbers

The gross volume of sales might not be as impressive as other projects out there, but it has been very motivating for me to see the uptick in progress. Looking at the image above we can see that the platform really caught on at the start of 2018 and that is replicating itself early on in 2019.

The challenges getting here

Like I keep saying, getting to this point did not happen overnight. It took a lot of work, pivots, and doses of reality to reach this point.

Reflecting back on this project after several other projects under my belt I see a lot of challenges and mistakes I encountered early on that I would do differently now.

  1. Back when UFSX was created in 2015 I was very focused on learning more about different technologies. This did the platform a disservice in these early days. I wasn’t focusing on delivering customer value. A lot of features could have been simplified if I would have focused on delivering value rather than sharpening my development skills.
  2. I didn’t account for teaching users about fantasy motorsports. I’ve played fantasy sports for years now and so I understand how things like Fantasy Football work. But most of my users have never played a fantasy sport and so there is a level of education that I need to provide.
  3. Developing an audience for a consumer product is hard. This could actually say “developing an audience for any product” is hard. Unlike my other projects, this is the first project I created that tried to appeal to a general audience, those who enjoy the sport of Motocross. But, that was the wrong tactic. I needed to hone in my audience and be more niche.
  4. Not all users want to pay initially. This is a tricky one because, on one hand, you want to charge customers for using your product or service out of the gate. But on the other hand, at least for my audience, not everyone sees the value in paying for something that is often free in other sports. There was a balance needed here and so I introduced public leagues, a free version of the platform, that allows users to play in one league with others all around the world.
  5. Organic traffic is the best traffic. The first two years were rough for organic traffic. I had poor SEO practices, poor site performance, and I was trying to appeal to a very broad audience. This led to only a few dozen users and very few sales. Focusing on my landing page SEO and performance improved my organic traffic sessions by 400%.

This is not a comprehensive list, but these are the five major challenges that come to mind when I reflect on the past four years.

The challenges still to overcome

Now that the platform is getting to the level I envisioned I am starting to think more about how it should evolve and improve. The benefit of having more that one side project is that each one teaches you different things that can then be applied to the others.

For instance, while working on my Learn AWS By Using It course I learned how valuable content marketing can be. It really allows you to build an audience of folks that are interested in your product or service without paying a dime. There is sweat equity in content marketing, don’t overlook that, but it is a great way of building a following for your product or service.

Can content marketing be applied to Ultimate Fantasy Supercross?

I don’t know. But now that I know the benefits it can realize it seems like a worthy investment.

This reflection on all of the lessons I have learned so far got me thinking about what other challenges still exist for Ultimate Fantasy Supercross. More importantly, it got me thinking about ideas to explore to solve them.

  1. Translating the success seen around Supercross to Motocross. The platform supports both series but the bulk of my users (and profit) come from the Supercross season only. Less than 5% of users come back to participate in Motocross.

Possible solution: Allow private leagues to promote their Supercross league into Motocross when the season changes over. This would make it dead simple for users to carry their league over into a new season.

  1. Increase user engagement past the opening round of a season. This is a problem that plagues almost all fantasy sports, users lose interest as the season progresses along.

Possible solution: Improve the competitiveness of leagues by adding bonus scoring formats for each race. Often times users lose interest in a fantasy sport because they fall so far behind that they know they can never win. A solution to that could be to introduce randomness and allow users opportunities to maximize their ability to catch up.

  1. Translating a one-time payment platform into a monthly recurring revenue model. Right now users pay once per year, typically at the start of a season. This means all profit for the project comes in one month. It would be ideal if this project could produce a solid monthly recurring revenue.

Possible solution: A subscription model is something I have bounced around in my head relating to this problem. Users could pay a small monthly fee and gain unlimited access to all series with unlimited private leagues. This seems plausible but maybe not quite doable due to point #1.

  1. Improve in-season purchases. This is separate from the MRR model but could help alleviate that problem as well. Most users join at the start of the season because they know that’s when they get the biggest bang for their buck. Therefore, I don’t see a lot of purchases as the season progresses because there are fewer rounds left in the season.

Possible solution: Offer discounts on private league purchases as the season progresses. If you join at the halfway point of the season, you get a private league for 50% off. This has the potential to increase in season purchases, but it also has the potential of impacting the projects bottom line.

  1. SEO is great, but having a well-formed audience is better. We talked a little bit about this up above, the primary driver of traffic for UFSX is organic search. This is great, but converting those users into a long term audience is necessary. This could be combined with making UFSX a “sticky” application, an application that users return to each and every season.

Possible solution: The first step is to start measuring the audience growth and stickiness of the application. Right now, I don’t have any of that data and that’s a big problem. Extracting out those values should allow me to plan out what the next steps are.

Like the earlier section, this is not a comprehensive list and is likely to change at any point in time. These are the problems that still exist today that I think are worth solving because they can increase the growth of the platform even more.

There are certainly other problems that could be worth solving, but they are unlikely to move the needle. This includes things like removing some of the tech debt around the platform, the developer in me really wants to do that, but I also know it’s not going to move the needle right now.


When I first created Ultimate Fantasy Supercross I had never launched a side project, let alone tried to grow one. To be honest, it was frustrating and disheartening initially because I felt disappointed that it didn’t make the splash I envisioned out of the gate. That frustration made me step away from the project for a few years, I left it running but did very little development against it.

I went off and explored other projects, focused on other things, but I never shut down Ultimate Fantasy Supercross. Something in the back of my mind wouldn’t let me. As I worked on other projects I picked up new skills and got more familiar with marketing and sales.

I think it was learning from other projects that allowed me to come back to my first one.

I took the things I learned from launching Learn AWS By Using It, Learn By Doing, and Parler.io, and applied them to Ultimate Fantasy Supercross. Piece by piece, small improvement by small improvement, and I started to see the needle move.

This re-engaged me into the project. I started improving all of the little things that had bothered me or I knew were important.

  • Site performance and speed.
  • User experience and mobile design.
  • Simplified on-boarding.
  • Low hanging features like past performances.
  • Blocking technical debt
  • Each little improvement like these moved the needle a little more. I became happier with the project and where it was going, this was reflected in the engagement I could observe from users.

I think the lesson here, at least for myself, is that launching a side project is a journey full of lessons to be learned. Sometimes you might lose interest in a side project, that’s OK, try something else for a bit. Doing that allowed me to apply other lessons I learned from other spaces to my original project.

This reloaded my passion meter for the project and thus allowed me to build it into what it is today.

© 2024 Kyle Galbraith