Gymlisted was a website for finding the right private gym. Every day, Tom would go home from his day job and code up features for Gymlisted until midnight. Once launched, they started with their marketing efforts. But they soon realized there was pretty much no demand for what they were offering.
Hey, I’m Tom! I’m a software developer from Toronto, Canada.
Back in early 2017, I partnered up with a friend of mine to start a startup that ultimately failed called Gymlisted. I’m happy to tell our story!
These days, I’m building and growing an automatic transcription platform called Vocalmatic. I definitely took the lessons from Gymlisted and learned what not to do!
Gymlisted was supposed to be the place for finding the right private gym. It was also the place where you could purchase and manage your memberships online.
The idea came about when I decided to build something to help my cousin, who owns a private gym, get more clients and manage memberships online. Since he was into the idea and wanted to try it out when it was built, I assumed (mistake #1!) other private gym owners would be on board as well.
I reached out to a friend of mine from high school and we decided to work on Gymlisted together - I would take care of the programming and he would take care of outreach.
Every day I would come home from my day job and code up features for Gymlisted until midnight. The tech stack was Python, Flask, and Postgresql on the backend, with jQuery and Bootstrap on the frontend.
For the developers out there, you’ll find that it’s really easy to build a Flask application that has all the models and views in one file.
This time, I challenged myself to better structure a Flask application. I ended up taking inspirations from Laravel, using Flask Blueprints, defining models separately from views, etc.
To get a working website up, it took around a month and a half of coding evening and weekends. At that point, we had the following features available:
In hindsight, it was way over developed to be a “basic” application. The biggest lesson I learned is that it’s important to get real validation before building the next feature. But being a developer, it’s really easy to get caught up in assuming you know what users want and escaping to our comfort zones: a text editor and terminals ;)
As for our business model, it was similar to payment processors where we take a percentage of each gym membership payment transaction made between the gym and the client.
Since we never got any customers, I’ll go over some of the strategies we attempted.
1) Cold Emailing - The most effective strategy for us to get at least a response was direct outreach. This was mostly a simple response back such as a hello or offering their own service. Plenty of gym owners have a website and their contact information was present on the site. We simply pitched our ideas to owners via email. Another thing we did was message gym owners through contact forms on their website. That also got us a few responses!
2) Social Media - Using Twitter’s search feature, we searched for terms such as “where to find a gym” and “find gyms in <area>”. The idea behind using Twitter was to help users by responding to their tweets. Plenty of people tweet asking for help but sometimes no one responds to their tweets. We saw that as an opportunity to get the attention of someone who might be interested in checkout out Gymlisted. Our Twitter account is still available online for posterity’s sake!
3) Offering a tangential service for free - In addition to the cold emailing and direct outreach, we decided that to get the attention of gym owners, we could offer a free service. So, I decided to buy a 360 Camera and offer free 360 photos and videos to the gym owners so they could use it on Gymlisted and anywhere else online. A few gyms bit, but overall it wasn’t a popular option.
The biggest cause of Gymlisted’s failure was that there was pretty much no demand for what it had to offer.
Private gyms already rely on various other channels for marketing, such as social media, and plenty of gym owners saw no need for membership management and payment processing to be online.
After doing some basic competitor analysis, we saw that there were well established companies in the space (even one that is publicly traded!). Being inexperienced with sales and going up against behemoths, coupled with building something that no one really wanted, led to the ultimate demise of Gymlisted.
We also tried to pivot towards building Gymlisted into a place for personal trainers to find a gym they can take their clients to, but at that point, we were feeling a little burned out and lost interest in the idea. We killed our own startup!
The biggest challenge was selling to and convincing private gym owners that they needed yet another way to process payments and manage memberships. We made the huge mistake of not validating early on the base idea behind Gymlisted. We did not position ourselves as the provider of a service that could solve our target customer’s problem while also being something that those potential customers would want.
An obstacle we were constantly faced with was very rarely getting a gym owner to get us to come in and showcase the website. It was after the idea of starting a tangential service to for private gym owners and offering it for free that they started really responding to us, even inviting us in to their gym to offer or free service.
We achieved $0 in revenue.
I was paying for a basic server on DigitalOcean for about 8 months and I built the website from the ground up, so my own free time. When we decided to offer free services such as 360 photography, I ended up spending a few hundred dollars on a 360 camera + stand.
Definitely, speak to more potential users before building out a full-on platform. I would also figure out right from the get-go if what I was building would be something that people pay for. I think this approach would have led to failing much earlier and allowing me to move on to the next idea!
Another approach that I would have taken is from the book Traction, which I mention below. Basically, you spend 50% of your time on product development and 50% of your time on marketing. A good balance of both will get you to where you want - either the next success milestone or knowing that your product isn’t well received by the market.
Here’s what I thought about and learned during the 8 months spent building Gymlisted:
1) You should build the simplest version of your idea and validate early on - We mistakenly thought that getting the “okay” from one person meant that was enough to justify building out a full-on website/product. If I coded up a simple website with the basic functionality first and then use that to validate the idea first, we could have saved ourselves a lot of time knowing if it will work or not!
2) See if there are customers already paying for a similar offering - If there are other products out there that are similar to yours, that is a great sign. It shows that there is a market for what you are thinking of building. The key is finding out how you can bring it to market and if it’s possible given your resources, such as time, capital, and skillset.
3) Know when to cut your losses - We spent 8 months building and trying to promote Gymlisted. We shouldn’t have let ourselves get blinded by the idea, and thought more if what we were working on was a failure.
4) Understand that failing is all part of the process - Coming to terms with a project failing definitely sucked, but it did teach me that all the failures were just lessons for how not to do things in the future!
I'm a big fan of books! Here are some of my favorite ones on entrepreneurship, psychology, and customers:
And a few websites:
You should definitely check out my: