I saw Mikey passing by, he was a good friend from the past. He asked me for dinner and gave me a proposition.
To create software for personal trainers. To make it easier for them to operate their business. Mikey was a personal trainer and I was a software developer, it seemed like an optimal match.
We had a few coffee chats. I started building out the software that we would need. I wanted to build everything from scratch so I can learn as I went.
In hindsight with entrepreneurship you need to focus on the 80/20 rule. Focus on the 20% of work that will lead to 80% of the output. Re-use as much as possible, don't build from scratch unless it is necessary.
Since I had a day job as a developer I’d work on weekends going to a local Starbucks or library. I heard about AWS cloud from a previous consulting job. I knew I needed to store data and figure out how apps communicate with a backend. So I found a blog post on creating a new thing called a “Serverless” stack.
It would contain a cloud formation stack(AWS Infrastructure as Code software) that would deploy an API Gateway (HTTP endpoint/ URL) and a Lambda (FaaS/Function as a Service) with python code all linked to Cloudwatch, S3 for storage. Then I looked into adding a sql server driver and connected it to an sql server RDS(relational database system) instance.
It worked marvelously because lambda functions were pay per use. So I didn’t go over the free tier.
We decided to start building the Android app, which would use the above setup. We didn't think about why Android first? We just went with it.
In hindsight we should have chosen either a website for speed of delivery, or at least an iOS app since personal training the main topic of the business is an expensive premium service, and our target market was North America which has a higher portion of people using iPhones. The main takeaway here is decisions should be data-driven. Also talk to users and understand there needs before building anything! You are too small a sample size to be considered a user, get more opinions, ideally these will be your first customers.
I looked into how to do authentication, and wanted to do the right things for my users. I saw that the SHA256 algorithm could be used with a salted password to make it secure. In case someone somehow got the underlying data they wouldn’t be able to get any value from it since you can’t decrypt SHA256. The salt helps create unique passwords for each user and protects from hash table attacks since the hacker would have to recompute them all with each individual attack. It’s possible for them to do it but just makes it a more difficult target. Even if the user uses ‘password’ as there password the added salt would force people to recompute it with the salt.
In hindsight I should have re-used an authentication system like AWS Amplify which does the heavy lifting for you. Doing it by yourself leads to stale implementations. Things constantly evolve and the more you can outsource the better. Again the 80/20 rule.
We created the first version of the Android app. A one man team without getting any positive feedback, each step you do gets incrementally harder.
There has to be a better way. Positive feedback, showing that what you’re doing adds value. It would keep it easier to keep contributing to the project.
No matter the strength of your will you can’t fight off the feeling that what you’re doing will be for nothing. I went for a long time.
In hindsight do personal interviews and selling early on to get actionable information. Ask bias free, open-ended questions for the best results. You need to do this yourself.
I added Stripe payment integrations, Instagram, and Facebook integrations to make user on-boarding easier.
I had friends and family that wanted to use it but they were all using iPhones. Which was unfortunate because we invested all this time into an Android app for what reason?
In hindsight please stick to an MVP, Minimal Viable Product. What are the bare minimum features that solve the need and market gap that your solution fits? Follow the KISS principle, Keep it Stupid Simple. Was instagram and facebook really needed, or are they nice to haves?
I was reflecting, and decided that I would go on to build a website instead of the Android. That way we could handle every user. It seems I finally got the memo by being upset that my family/extended family couldn't use the application. For the next 3 months I went on to build it, without my business partner knowing anything. I would build everything better then I did on the Android app, it would be A LOT faster this time around, since its re-using the backend, and its a website. I showed him YokD and he was taken aback and really happy it seemed. He had been using AngelList to onboard interns and get them working on an iOS app. I was disinterested, I would help when needed but I’m sure from his perspective I wasn’t contributing a lot. I’m sure it built resentment, maybe I should have told him.
In hindsight EVERYONE in the organization needs to be on the same page building towards the same things. Extreme focus is needed. Measure twice, cut once.
Now we had a website and felt more confident that anyone can use the product. I was getting excited and adding features that I would want. Like meal tracking, exercise tracking. Having a personal fitness calendar. You could post solo workouts, workouts with workout partners and ones with workout trainers. Then be able to go back and see everything you’ve done.
I felt there was nothing like that on the market, but didn’t know if users would even want it or how I would get the message out. We then built out a feature when users consented to allow Trainers to see their diet and exercises to be able to provide unique personal advice to tweak things. Trainers seemed to like this idea, we were finally doing personal interviews with them.
In hindsight personal interviews before a product is made is a necessity to find out what are the key customer needs.
When COVID happened in person sessions were not possible, so we had to adapt. I added virtual workout software and video streaming setting up open source WebRTC.
In hindsight I like the adaptability here, it didn't take too long to build a custom application to stream since an open source software was built for it.
We were dealing with the chicken and the egg problem. We would have no trainers on the platform to train users. We found directories of trainers and mass emailed them. Didn’t really get interest. We would go to Kijiji and message people who had posted Trainer ads, that got a few bites. We actually got a few Trainers of questionable quality from Kijiji when we spent 20-40 minutes interviewing them and asking them where they wanted help and where our platform could add value. Then we went on indeed. We tried making an indeed account before and it didn’t work because we didn’t have a tax ID. Then we tried again and we ended up needing to pay to get an ad posted. So being desperate and willing to try anything I paid. The ad itself didn’t work but indeed had this part of the platform where you can invite people to apply to your job posting and search up key words on their resumes. That worked and we ended up getting a good chunk of trainers to sign up.
In hindsight these were natural hurdles that all companies face. Perspective matters. The reason indeed worked rather then Kijiji is because for indeed we were the employer we were finding people who wanted work. On Kijiji we were finding employers who were finding work for themselves. Save yourself emotional baggage and think through your experiments. Again 80/20 rule.
We made more and more changes to the platform, we added Trainer profiles, think of LinkedIn pages, a resume for them and then gave them a unique link they can use to advertise. It seemed like Trainers were only interested in using our product because they could get more clients.
Since we were charging 10% per session even if we had automated payments, emails, meeting software, schedule availability planning, that 10% wasn’t worth it. They had a system that already worked before us so why would they give that up. With COVID any money that came in they were desperate for it too. So our platform ended up turning into just trying to find clients for them. They wouldn’t bring their own no matter what we did. I remember programming new massive features in a weekend, us being so excited because finally people were using it.
We did a Kickstarter campaign, made a video and did all the work for the page. Found and did mass emails to people with blogs to gather interest. Not one bite. With that I did Facebook, Instagram, Google Ads. I experimented with all of them. The only thing that worked a little but cost a fortune was Google when you set the budget to max.
It generated an average amount of interest but the retention, the idea itself wasn’t enough. Looking at user replays people would go to the page look up and down and leave. So I redesigned the homepage thinking that they needed the least amount of clicks as possible and just put the trainers in front of them like Airbnb. They would be redirected to making an account if they wanted to book trainers. I made the user sign up as easy as possible. Noticing that other personal training sites asked many sign up questions I only kept what was required. We did a little marketing but it felt like the changes didn’t make a difference, like the market was trying to tell us to get out.
In hindsight I was being dramatic, again when you build everything from scratch it takes a lot of time and energy. Please outsource as much as possible, re-use as much as possible. Focus on the things that will give the largest benefit. Kickstarter campaigns are typically done for products that are eventually made and are a method to bootstrap sales. Our idea was not a fit. Things need to be thought threw, you can't fight against yourself. Remove as many barriers from success as possible.
From here we got stuck. This was the crux of it. We had everything just not the users. The most important part. The money flow. We would try creating an affiliate program, mass emailing psychologists but they said they couldn’t receive any kickback for legal reasons.
In hindsight personal selling for users was needed here. I remember we did a photoshoot for the kickstarter at a gym, and people were very interested as to what was going on. Saving the emails here and getting users feedback who are interested are a necessity. Stepping out of my comfort zone, going to a gym and asking people.
My career at this point was getting held back I felt. Friends and family were getting ahead, my age or younger. I just started losing motivation.
After all that, it was difficult. I wanted to continue. Our next plan was to target dieticians and a whole bunch of other groups that we felt could bring in people who would like and use our platform.
I started looking at competition and noticed that other sites had all these different payment types. Ours would end up being cheaper personal training because it’s an open market. Trainers would have to compete on pricing. Other sites would have what seemed like static site generated Trainers and couldn’t scale like ours would.
I designed it to be a fully automated system if it worked it would’ve been amazing for everyone. Just its so difficult to get user attention these days. Maybe we stopped just when it would get good and payoff.
In hindsight don't worry about competition, focus on customers key needs and finding unique value your solution can provide.
I just feel like after so much effort being put into it, everything else is easier. I'm so used to working a lot because of it. With my career knowing that if I work on it there are fixed very likely outcomes for me to grow and get things out of it. Maybe thats my next step.
I will do the work, I know how to grind and put in the effort. Push through and find a solution when things get tough. I just need to be pushed in the "right" direction.
That’s why I’m writing this blog. To write my thoughts, to write about the experiments I do. The perspective you can get, should give some value out of the things I try and we can both be better for it.
I would love to hear about your experiences and thoughts. I know I’m far from perfect, no one is. So please feel free to criticize and share.
This has been a letter from a coder.
Best Regards, Tyler Farkas
We know, not another newsletter pitch! - hear us out. Most developer newsletters lack value. Our newsletter will help you build the mental resilience and emotional intelligence you need to succeed in your career. When’s the last time you enjoyed reading a newsletter? Even worse, when’s the last time you actually read one?
We call it Letters, but others call it their favorite newsletter.