Simple Steps Code

Yaphi Berhanu talks about validating his idea, researching his customers' problems, and limiting focus to the most effective marketing and revenue channels.

Hi Yaphi! Tell us about yourself and about Simple Steps Code.

Simple Steps Code helps people learn front-end web development. So far, the main product is a JavaScript course designed around lots of research about how to avoid the struggles people have had with other courses.

My name is Yaphi Berhanu, and I'm a front-end web developer. I first released the JavaScript course to my email list at the beginning of 2016, and now the revenues average out to $650 per month for the past 4 months. (However the product is released in periodic launches once every 4 to 6 months, so the three launches in 2016 have made $1000, $1400, and $3000). The people who do the course seem very happy with it, so that's gratifying.

The current size of the email list is 3,300 people, and the total number of customers is between 60 and 70. Now I'm working on scaling.

What motivated you to get started with Simple Steps Code? How'd you come up with the idea, and what'd you do to validate it?

I've always thought it would be cool to use my coding skills to start a business online, because it would be a fun and satisfying way to get paid to do something positive for people.

As for coming up with the idea and validating it, I took a ton of advice from Ramit Sethi's Zero to Launch, which is a business course that guides people through testing and launching a business without quitting your day job.

The general gist of finding an idea was thinking of which skills and experiences I already had and how I could help people with those. In my case, it was helping people learn to code.

To come up with product ideas, I needed to figure out which real problems needed to be solved. I started out by looking at reviews of popular books and courses related to my topic. Some of those reviews were on Amazon, and others were elsewhere.

From those reviews, I took notes on what people liked and didn't like, and this info helped me understand what to think about when creating a course. Additionally, it was helpful to notice common words and phrases people used so that I could use them in my own marketing materials. Once I started getting responses like, "You read my mind!" or "That's exactly me," I knew I was on the right track.

Once I had some data, I started making Reddit posts asking things like, "What is your biggest struggle in learning web development?" You can substitute this with whatever applies to your business, e.g. "What is your biggest struggle with XYZ?"

After that, I used MailChimp to create an email opt-in form on my site, offering solutions to the problems people had discussed in the reviews and the Reddit posts. As people signed up for the email list, I spent a lot of time emailing them and listening to their hopes, goals, and struggles.

That's a lot of research! What went into building the initial course? How long did it take, and what tech did you use?

I spent 2015 doing research, talking to people, building my email list, and creating the product. In 2016, I opened up sales three times for a period of 1-2 weeks each time. After each sale, I took feedback and made improvements to the course and the sales process.

Creating the first version of the JavaScript course took a little over 3 months. It was fun and stress-free because I did it in my spare time rather than quitting my day job and taking on unnecessary pressure. Also, it didn't require any special funding since it's a website.

To stick to my schedule in creating the course, I made a one-sided bet that I'd pay someone $1000 if I failed to write a certain number of chapters a week. There was no further need to worry about motivation.

The tech stack is static HTML/CSS/JS for the main site for very fast loading, WordPress for the blog and the course, WishlistMember for user management and payment/email integration, MailChimp for emails, and Stripe for payments. I added PayPal as an option in the most recent launch, and 40% of sales came from that, so I think it was a good choice.

What marketing strategies have you used get students for your course?

I got the first traffic to my site by posting a long, detailed, and useful Reddit text post directly helping with the struggles the customers had expressed during the research phase. Deep in the post, but not at the end, I put a link to my site in a friendly and useful way. That way the trolls wouldn't see it, and the only ones who would see it were those who were genuinely interested. Also, I made sure not to be promotional about it. I said something like, "In case you'd find it helpful to know more about XYZ, here's a quick guide," and then seamlessly continued with the rest of the post.

After that, I started guest posting on various sites. I started with the ones that were looking for submissions. Sitepoint turned out to be an awesome pick because their editors are fantastic people and the articles get plenty of visibility and SEO. To get the first post approved, I submitted a pitch following their guidelines, got a friendly rejection, tried again with a new set of topics, and succeeded. It was generally a similar story for the other sites I pitched, which were also wonderful to work with.

Current traffic is around 2000 to 4000 visitors per month, and most of it has come from guest posting. Some has come from SEO too, but that was not through anything intentional I did besides writing some posts. The email sign-up rate is around 10%, so that means 200 to 400 new email subscribers per month.

What I did NOT do:

I avoided spiraling into tons of random marketing tactics. (Buy that tool, post on those 100 social media channels, pour money into banner ads, etc.) I needed to understand my funnel before even thinking about any of those to determine what makes sense and when. Right now, guest posts are my #1 priority.

How does your business model work? Do you just charge for the course itself?

Revenue comes from selling access to an online JavaScript course. The course is in written form with quick, clear explanations followed by code samples and exercises.

The course is only available to people on the email list, and it only opens up a few times a year. This has been helpful for testing different approaches, getting feedback, making updates, and iterating on the product and the sales sequence.

The expenses are hosting and email, so about $60 a month total.

One thing that helped increase revenue was to add more valuable material to the course and raise the price accordingly. The course went from $49 to $99 to $149 across the three launches. As the price went up, the conversions didn't take much of a hit, but the refund rate went way down, and the material tended to be taken more seriously.

When I sell the course, I make sure to put the price against the value, and it's fairly easy to do since learning JavaScript adds a minimum of $10k to someone's earning potential over knowing HTML and CSS alone. If I had to give advice about pricing it's this:

  • No one knows what your product is worth before they buy it. The more you can paint a clear picture of the value, the better.
  • When people pay more for something, they tend to value it more. This leads them to get the most out of the product and speak well of it.
  • I tend to avoid discounts. They can provide short-term boosts, but they cheapen your product, and they bother the people who just bought at full price. They also train people to wait for discounts instead of buying.

What are your goals for the future? Are there any big challenges you see on the horizon?

Now I want to scale up. Most of the funnel is good enough, so I'm aiming to get in more traffic. That'll mean getting on places like Lifehacker again (but this time with a link to my site instead of one of my guest posts elsewhere). In order to do that, I'm spending time learning what is most genuinely useful and interesting to their audience.

What are the biggest lessons you've learned so far? If you had to start over, what would you do differently?

Biggest lessons:

If you listen to your customers, it's possible to compete with the dominant players in your field. For example, there was one course that I originally thought I'd never be able to compete with. It had fantastic features and technology, and it was free. Later on in the process, I had someone contact me who wanted my course but couldn't pay for it. I recommended the free competitor, and they said no, they wanted mine instead. This was the course I once thought I could never compete with, and now I was having trouble sending people to it.

What I'd do differently:

Stripe is awesome, but if I started again, I'd add the PayPal option earlier. I might also consider a service that integrates both (though I'd have to check the fee structure). Other than that, there's not too much I'd do differently. Everything was a valuable learning experience.

What's been most helpful to you on your journey? What do you think your biggest advantages have been?

The number one most helpful thing has been listening to people and reading what they were saying about their experiences.

Knowing how to code was helpful since I could make things exactly the way I wanted without paying for outside help.

What also helped was having an unsuccessful startup in the past. That taught me all the things that can waste time at the beginning:

  • Paying for a press release.
  • Getting t-shirts with the logo of the startup.
  • Splitting attention on every social media channel and having the entire business suffer as a result.
  • Trying to monetize through ads — they make almost nothing unless you're getting enormous amounts of traffic. It's like $1 per 1000 views, so you'd have to get a million impressions a month to get minimum wage. If you get that kind of traffic, you can probably be a millionaire with just about any other business model.

What's your advice for aspiring indie hackers?

Don't jump into every marketing tactic. Pick one that makes sense for your business, and do it well. For me, it has been guest posting on relevant sites.

I've probably said this before, but it's surprising how well you can stack up to the big players in your space just by listening to your customers.

To be clear, listening to your customers doesn't mean doing every single thing everyone tells you to do. Otherwise, you might end up with a mess of features that'll ruin your product for everyone.

Henry Ford supposedly said, "If I asked people what they wanted, they would have said faster horses." If you just stop there, you get a surface solution (faster horses) instead of a real breakthrough (commercially available cars). To avoid this, it's best to ask people about their problems rather than their solutions. If you ask about solutions, you'll get things like, "I think the horses should be trained to run faster," which is not what you're looking for. If you ask about problems, you'll get answers like, "I wish I could get from point A to point B faster," which is the real value you're looking for.

Even better, you can ask how it would feel to get the problem solved, and you might get an answer like, "I lose so much time during my daily commute to the market, and I wish I had more time for friends and family." When you listen to people's feelings, then you can really understand them and tap into that understanding to create a strong message.

Also once you have paying customers, prioritize their feedback since it's often very different from the suggestions you'd get from people who will never be your customers.

Where can we go to learn more?

You can find Simple Steps Code at: https://simplestepscode.com

Loading comments...

Subscribe for new interviews every week! 🤗

Courtland here! I regularly interview the indie hackers behind profitable apps and side projects like Simple Steps Code. Enter your email below, and I'll send you new interviews once a week! Feel free to unsubscribe whenever you want.

Share this interview: