After struggling a few years with burnout, I thought the day where I would enjoy working on challenging problems may never come again. I would start a new project, get excited about it, and then give up after I hit any number of metaphorical walls. So, when I thought about the amount of sustained effort it would require one person to start a business, build a new platform to host training courses, outline, record, and edit the courses, it seemed doomed to fail. I was going to give up—again.
Modern Application Development with Rails
There were many days where I wanted to throw in the towel, but I eventually made it to launch. I still have work to do, but I'm happy with where I'm at and I wanted to share some of the lessons I learned along the way.
Prioritize momentum in your tech stack - If I could only make one suggestion, this would be it. Momentum is the key to finishing a project. If you're constantly getting stuck on a problem, you're going to lose momentum and give up. Pick a tech stack that you're proficient in and that you can move quickly with. Consider all the big things you'll need. Email? Database migrations? Payment processing? Hosting?
When you're trying to build a business, picking a tech stack that you want to learn more about or that you're curious about is a recipe for losing momentum and giving up. Sooner or later you're going to have to send an email, run a job, migrate a database, or upload and store assets.
Their audience is your audience - Seeing someone do something similar to what you're doing with a massively larger audience can be discouraging. Why should I even try? This person is already doing it, and they're doing it better than I could. Early on, this might apply better to education/training than it does to a product, but many products don't come out of the gate fully polished.
Don't view your success through the lens of someone else's. Early on, you're not competing with them. In fact, you're probably not competing with them at all. Remember, at this stage, you're trying to finish, not win.
Someone might have 50k followers on Twitter, and you only have 500, but your potential audience is bigger than Twitter. Find smaller communities, tell them what you're building. Or better yet, show them.
Delegate to outside resources - Building a business is hard. Building a business alone is even harder. You don't have to do it all. There are free and paid resources that can quickly help you get over a hurdle.
One mental hurdle I ran into was the idea that I was going to have to design and build several things: the public application, the admin UI, the marketing site, the blog, the logo; It's an overwhelming amount of work. You might have noticed this blog design is part of Tailwind UI. Make use of the effort of others.
A little hopium can work -
Hopium is a portmanteau of the words "hope" and "opium" used to describe a fictional drug to help one stay hopeful in times of stress.
There are people all over social media posting their hustle porn and sharing stories of how their making $X amount of MRR/ARR. People are sharing their "journey to 1MM ARR" or something similar. I have to admit, this sometimes worked to trick my brain into motivating me to keep going. I would see someone else doing it, and I would think, "I can do that too."
Don't stop at the base of a hill - If you're working on a challenging problem, try your best to finish it. I found that if I got frustrated and stopped working on a hard problem, It would cause me to procrastinate and not work on it for days. There were times where I had to sleep on it, but I found that if I could just push through the frustration, I would eventually find a solution and feel a sense of relief. This isn't a suggestion to work 18 hour days or not take mental breaks. But if you're stuck on something, try to make it over the hump. You'll end on a sense of accomplishment and you'll be ready to tackle the next problem.