Jessica Chan (@thecodercoder) is the founder of Coder Coder, a collection of resources that help self-taught web developers learn to code the same way that she did. Jessica joined the show to share how she came up with her idea and got her first users, how she grew her Instagram account to 30k followers and her website to over 60k visits per month, and how she plans to make a living from her business as an indie hacker.
Jessica Chan, welcome to the Indie Hackers podcast.
Thanks for having me on.
Thanks for coming on. You are the founder of Coder Coder, a website where you help others acquire the skills they need to build their very first website. Tell us a little bit about what you do and how it all works.
Coder Coder is a side hustle right now. I do work fulltime as a freelance web developer. But basically I have a blog where I post coding tutorials and other articles, and then I have social media presence on Instagram mainly and now Twitter and YouTube, which I’m just starting to grow.
Yeah. You are at 30,000 followers on Instagram.
You have a thousand subscribers to your YouTube channel, and your Indie Hackers product page says that you get between 50,000 and 60,000 page views every month to your blog. The milestones you posted are pretty cool.
Not very many people talk about growing their Instagram or growing their YouTube subscribers on Indie Hackers. Most people are relying Hacker News and they’re relying on Twitter followers and things like that. I’m curious how you got started here. Which of these channels came first for you?
I started the blog first as my main home base, I guess you could say. After that, for some reason I just decided to go on Instagram. I discovered this vibrant dev community there and that’s been a fun experience. I feel like I get to connect with other developers all around the world, which has been really great.
Yeah, Instagram’s a crazy channel. I’m not a huge Instagram user myself. I’m on there every now and then posting to my story once every quarter or something like that. But we had an Instagram account for Indie Hackers. In fact, we still have it. It’s pretty hard to grow.
You’ve been super good at growing it and finding the developers and finding the engineers on Instagram. So we’re going to get into your tactics and your tricks there, but let’s go to the beginning, since you started with the blog. How did you come up with the idea for Coder Coder and what made you start a blog?
I had come into web development in a non-traditional, very roundabout way. I got a degree in photography, never took a programming course in school. But I fell into web development when I landed this temp job for data entry formally. But then they ended up teaching me programing because they were a small web dev shop.
After two years, I had some basic SQL backend and some front end, a little bit of CSS which I taught myself in high school. After that I was able to land a real, official web developer job at an ad agency.
A year or two ago I had wanted to start Coder Coder because I felt like learning how to code really transformed my life. Before then, I was working all these temp office jobs and I just didn’t know what I wanted to do with my life. I wasn’t making very much money working hourly.
After having found this career, it’s been really satisfying. It’s provided a stable income for me. It seems like it’s something that I would love to help other people find as well, because I think in this day and age a lot of people are trying to get into coding to work remotely, to have more autonomy over their lives and have a better income.
Those are all great reasons to learn how to code. Coincidentally they also mirror the reasons why people become Indie Hackers. They want more autonomy. They want to work on their own creative projects. They want to work from whatever location is comfortable.
They want to set their own schedule, and they want to make more money. Coding allowed you to do all those things. It changed your life, and so you decided you wanted to change other people’s lives as well. What was your game plan for that, exactly?
When I had the idea to start Coder Coder, it came about it when I was on a trans-Pacific flight to Japan to visit a friend, and one of my reading books for the flight was “The $100 Startup” by Chris Guillebeau.
I read that. I don't remember exactly what it said, but at some point he was asking the readers, “What is it that you're passionate about and what changed your life that you could help other people do yourself?”
I realized that this whole coding thing changed my life and it could be something that I could help others do. I guess I’d always had a little bit of an entrepreneurial spirit growing up, so I think I’d always wanted to, at some point, work for myself.
Cool. I love this advice that you got from Chris’s book, to think about something that you’re passionate about, that helped change your life for the better, and then build a business that helps other people change their lives in the same way. I think it is really good advice, cause it helps you avoid a couple of early-stage founder pitfalls.
Number one, if you follow that advice, you’re not going to build something that you don’t care about, and number two, you’re less likely to build something that’s not important. If it’s something that is so impactful that it changed your life, then it’s pretty likely that other people will find it important. They’ll be more likely to pay for it or share it with their friends.
But beyond that, I think he’s telling you to build a business that teaches people. He’s telling you to help educate people. And when you do that, you can get started immediately. I love education businesses because you don’t have to build a bunch of software. You don’t have to spend months coding stuff.
You could just start tweeting things. You could start, in your case, posting on Instagram. You can start a blog and you're already off to the races helping people. Your business doesn’t take that much time to get started, which is such a huge advantage. You started with a blog. Tell me a little bit about your early blog posts for Coder Coder. What did those look like?
Gosh, I think the first blog post I wrote was How to Speed Up Your WordPress Website, with 90 different ways or some crazy number. It was probably 30. But I think I’d also done a lot of reading on how to make a blog and how to write a good blog post and things like that. So that was just making a giant listicle. I think it’s called skyscraper posts, so things like that.
But I think that over time, I learned a lot by trying to find places where my audience hangs out on the internet. At the beginning, it was these Facebook groups. I think there was a freeCodeCamp one, as well as another one called Newbie Coder Warehouse.
So I’d just hang out there, see what kind of questions people are asking and what things they’re having trouble with, try to help them out. Then I would also write articles on those topics and post them to the groups. That was one of the early ways that I was getting traffic to my website.
I have a Facebook page but I don’t do much to it anymore. I’m not actively trying to grow it. But it’s just trying to find these problems that your audience has and then fixing it for them. I think that’s the basis of what good sales is.
How do you decide which problems to focus on, especially in your situation? Teaching people how to code, they have a million different problems. There’s a million different blog posts that you can write. There’s all sorts of languages and frameworks that you can teach. How did you hone in on one particular problem?
I think from the very beginning I wanted to focus on very beginners, people who maybe haven’t coded before, just know a little bit. Then I also wanted to focus on frontend, HTML, CSS, right now also responsive design.
Everyone who’s learning how to code has to learn those things, whereas if you focus on something specific, like learning Java or learning Node.js, you’re niching down a little bit more so there’s less of a target audience. Also, I think I’m more confident in my skills for the beginner HTML, CSS stuff.
That’s the downside of starting an educational business. You might start to wonder, “Am I good enough to be teaching this stuff? Should people be listening to me?” But the flip side is that you're under constant pressure to learn and actually be good, so you end up learning a lot faster.
At what point did you have your first breakthrough with Coder Coder, where you realized that people were listening to the stuff you were putting out there, they were reading your blog posts, and your traffic was growing?
In the early stages of this I had been posting on Medium, and that really helped grow my traffic, because there’s a freeCodeCamp. FreeCodeCamp uses their own site now but they used to be on Medium. They were a huge publication there, so I started submitting articles to them. Some of them really took off.
One article I wrote was How to Be an Uncommonly Good Web Developer. That was a soft skills, how to solve problems, how to work with a team, that kind of thing. That article went semi-viral. It was fairly popular. It got picked up by some other online publications.
The Next Web was one of them. They were posting with the canonical link linking back to my domain. That really helped my domain grow in domain authority and get a bit higher on the Google search results.
About how many blog posts would you say that you’ve written in total?
Surprisingly, not that many. I think I have just under 30 blog posts in the two years that I’ve had this website. So it’s a little surprising that I’ve been able to grow this much.
Yeah. That’s a lot of traffic from just 30 blog posts. What about Instagram posts? How many of those?
I probably have at least 300 to 400 Instagram posts.
So that’s where you’re spending all your time, on Instagram.
That’s true, but the majority of my traffic, 80% to 90%, comes from Google search.
Yeah, that makes perfect sense. The reason I ask is because when you write dozens of blog posts, when you make hundreds of posts to Instagram, you start to see certain patterns. You start to catch on to what makes things work, what makes things not work.
Then you change up your writing style as a result. So I’m sure, for example, the way that you write blog posts today has evolved considerably from how you were writing blog posts two years ago. What are some of the things you’ve learned in that time?
Right now, I’m aiming for writing blog posts that do well in Search, so things that I believe people are searching for. I think in the beginning I was sort of doing that, but also just writing these more soft-skills posts. I might do that more again, but I think right now I’m focusing on writing blog posts that people are posting on Stack Overflow, like “This thing isn’t working.”
For example, a recent post I have is “Four Reasons Why Your Z Index Isn’t Working and How to Fix It.” It’s a question on Stack Overflow. I just checked yesterday. I’m ranked number one on Google Search for that phrase, which is fairly common. So that’s where I’m targeting right now.
Yeah. Google Search is so much traffic if you can nail it. But it’s also a huge slog, also a pain in the ass, because there’s a lot of competition. You have to do a lot of keyword research, etc. Let’s talk about Instagram. How do you grow an Instagram account?
It’s a big question. It’s interesting to see that I was getting attention on Indie Hackers for that, because to me it’s like, “Oh, this is just my every day.” It's not a huge deal to me anymore.
It’s a huge deal to me. I’m like, “How do you grow on Instagram?” It’s a mystery. There’s no retweet button. How do you get followers?
The way I see Instagram is that it is very relational. Like you said, there’s no retweet button. You can share stuff but it’s a bit different. It’s honestly a grind. You have to be consistent.
But I think what happened for me was a year into Instagram I had maybe a thousand-something followers. But I really wanted to hit that 10,000 mark cause that’s when people see you as a “influencer”. You can share links on your stories, which is nice.
So I did this experiment where I posted on Instagram pretty much every single day for however long. I ended up hitting 10,000 just four months later. So this was from July to November of last year. So that really helped. So I think consistency is important.
Also, you have to understand your target audience. It’s been said that people go online to either be entertained or educated. I’m more of the educational direction so I try to post posts that are helpful to people in my target audience, which is beginner web developers, just sharing skills.
I think I stuck out early on because most of the dev community on Instagram, they’re either posting set-up shots of their computers or they’re trying to be Instagram model/coders. It’s an interesting little genre or niche that I don’t do myself, and so I think having these informative posts, and there’s a couple other accounts that do the same thing, I think that makes us stick out. Makes us be very attractive to people who are on Instagram looking for stuff.
I’m looking at your post right now. It’s a lot of shots of keyboards, a lot of pictures of computers, a lot of pictures of books, too. It’s almost like you're doing recommendations of what books people should be reading, what tools they should be using and stuff like that.
Book recommendations seem to do well, so I like sharing about those, too.
Yeah, book recommendations seem to work well on Twitter, too. You mentioned consistency. That’s a big thing for podcast growth, I’ve found. If I release an episode every single week, the podcast grows.
If I miss a week, it’s like, reset. I’ve got to make up for that after another few weeks. So it’s interesting to see that Instagram works the same way.
There’s definitely an algorithm thing. I don’t have evidence, but I believe that Instagram will rank you higher in people’s feeds if you post consistently.
Yeah, I bet. It’s how they get you hooked. You’ve got to post every single day. So you’ve got all this stuff. You’ve got your Instagram account. You’ve got your YouTube channel. You’ve got your blog. What’s the goal here? Does these all combine to feed into some greater vision?
Eventually, yes. I don’t have anything yet, but I’m in the middle of trying to work on a video course probably on Teachable or some platform like that, where it’ll be aimed at beginners again for responsive design.
That’s the goal, I guess, to try to monetize Coder Coder. The idea is that everything else that I’m doing, blog posts, social media, will point to that.
Cool. I talk to a lot of founders who are releasing products and they have a giant mailing list. They have thousands of Twitter followers, and they have all sorts of people who are ready to buy whatever they build. They always say the same thing. You’ve got to start by building your audience.
That’s where you are. You’re in the build-my-audience phase of your business, where you’re getting a reputation for yourself, where you're helping people out, where you're building your mailing list, where you’re gaining that large amount of people who say, “Hey, Jessica helped me in the past.”
So when you release your course, you’re not just starting from scratch. You’ve got people who are ready to buy because they trust you.
So I know you already make a little bit of money from Coder Coder, something like $200.00 a month. Where does that come from?
It’s mostly coming from affiliate links on my blog. For example, I have a couple posts, Best Books to Learn Web Development, Best Courses to Learn Web Development, and they’re all links to affiliates, either Amazon or individual course creators. So that’s where that’s coming from.
Do you think that once you release your course you're going to get rid of the affiliate links, or do you think that you’ll keep them and just run them as an alternative business model on the side?
I’m still trying to decide what my final approach is going to be. I’m okay doing occasional affiliate links. I don’t want to start pushing it out every single post or email that I send out. But I think the course is ideally going to be where the bulk of the income is going to come from.
I’m considering not doing ads on YouTube, because I think that’s a way that I can stand out, again, from the other web developers on there, cause everyone slaps on Ad Sense. It will be interesting to see how that turns out.
That’s cool because if you release your course and it does well, then you’ll probably be making more money from that than you make from your YouTube ads anyway. So then it’s not that big of a sacrifice to shut off the ads and to what you said.
You stand out from the competition because everybody else has ads on their educational videos. So let’s talk about YouTube. How do you grow a YouTube channel from nothing to over a thousand subscribers?
I guess I don't think a thousand is that much because again, I have this goal in mind that I’d like to hit 100k, maybe even a million followers someday. But again, it’s about consistency. What I’ve been doing specifically on YouTube lately is doing these live coding streams about every week.
I will just build a website from scratch using a template from Frontend Mentor. I think he’s another Indie Hacker. People can watch me code. They can ask me questions and I’ll answer them. I think it’s a high-quality thing that I haven’t seen too many other YouTubers doing. Most of them seem to be career advice and getting a job, that kind of video.
It’s cool to see how you're active on these different platforms. On your blog, it’s SEO focused coding articles. On Instagram it’s more conversational, questions, tips, and photos, and then on YouTube you’re doing live coding.
So if something likes what you’re putting out and they want to engage with you, if they want more Jessica Chan, they can watch you code live and chat with you.
Yeah, exactly. I do plan on doing a lot more growth on YouTube in the coming year, with not just livestream but also creative edited videos, cause I happen to be married to a very talented video editor and animator.
There you go.
Yeah. We’re planning on working together on making some high-quality videos that I wouldn’t otherwise be able to afford to pay someone to make.
Yeah, it’s one of the challenges of YouTube. Videos are hard to make good. It takes a lot of work. It’s way harder than audio, obviously way harder than just text, but if you’ve got a husband in the picture, some free labor, go for it.
Let’s talk about how you’re supporting yourself during all this, because you haven’t released your course yet. You are a freelance web developer. Being a freelancer’s not that easy.
It’s arguably just as hard as learning how to code, figuring out how to get a steady stream of contracts coming in so you can support yourself. How have you done that?
I guess I lucked out in that area, because right now I’m working almost fulltime hours for a client who is a former coworker who used to work at the agency with me. I ended up being the last person from my generation there to leave.
So pretty much the second that I posted on social media that I was going to do freelance, I got requests from multiple coworkers asking me if I was looking for work.
This one’s worked out very well. I have a very stable financial situation which I’m really fortunate to have, because I’m not trying to make money. I might be more tempted to put ads on everything but I can go about things in a good, consistent, slow progress.
I talked to Stephanie Hulburt, I think, a year and a half ago about how she was getting freelance developer work early on in her career, and she did the same thing.
She told everybody that she knew that she was open for work and she posted on social media, and their in-bound request because who knew people would need to hire developers. How do you balance working your freelance almost fulltime hours gig with building Coder Coder and doing all these things on YouTube and your blog and on Instagram?
I will say I probably don’t have the most vibrant social life at all. I work from home. My husband works from home. We’re very much homebodies. So I spend my evenings and weekends working on Coder Coder content, and just throughout the day on Instagram.
Yeah, I’ve been in that situation as well, working with your significant other, both working from home. Not easy to do. You can drive each other crazy. But it seems to be working out well for you.
Tell me about your future plans. You’re working on this course. Do you have anything else in mind for Coder Coder?
Honestly that’s my simple business model, if you will. I would love to be able to create a suite of courses for beginners. Right now, I’m just going to be probably charging per course. Just pay one-off. But maybe if I have a whole bunch down the line in a few years, then I can do a monthly subscription plan, something like that.
We talked briefly about your very first upcoming course. Tell me a little bit more about what it’s going to be.
It’s called something like The Beginner’s Guide to Responsive Design, or Responsive Web Design for Beginners. It’s just me taking people step-by-step, through setting up everything and building a responsive website.
This is definitely a more narrow, specific topic than all the different things that you write about on your blog and on Instagram and your YouTube channel. How much did writing in those places and engaging with your audience feed into your decision for what this first course would be about?
I chose it, I think, because it was the intersection of where I feel most confident in my own skills and then what I see my audience looking for. I think that one pain point that I’ve noticed with other existing courses is that people often say, “Oh, you’re going too fast. The teacher doesn’t explain things all the way.”
So I felt having this course aimed at beginners that really goes step by step. It may be too much. We’ll see. It would be helpful to people.
Yeah. This makes me want to go back to what I was talking about earlier and add to the reasons why it’s so good to start an educational business. In this case, it’s because no matter how much competition there is, no matter how many other people are teaching people how to code, you’re always going to be able to find your own unique style of teaching.
It’s always going to resonate with some percentage of students the way that nobody else’s teaching does. In your case, that might be teaching things slower or breaking it down. But there’s always room. It doesn’t matter how much competition there is. If you're teaching you can teach in your own unique style and there’s room for you.
Let’s move on here and talk about learning to code in general. A lot of people want to be Indie Hackers. A lot of people want to start their own companies but they don’t know how to code. In your opinion, should people in this situation learn how to code before starting a business, or should they partner up with somebody else who knows how to code?
I think that’s one of those questions that the answer is it depends. I think anyone can learn how to code, but I don't know if everyone would enjoy coding. Not everyone enjoys the sometimes masochistic nature of debugging and things like that.
So I think it depends on the person. I do think sometimes that if it’s not in your skill set, it might be more efficient for you to pay money to a professional to do it, but that also depends on if you have the capital to do that.
It’s all interconnected.
It’s a hard question.
It’s tough. It’s interesting. I’ve taught a few people how to code. I don't know, I guess maybe I’m not a good judge of character, but I’ve never been able to predict who’s going to like it and who’s not going to like it. The people who I thought would not like it ended up loving it, and the people who I thought it would be the perfect fit for them ended up not liking it.
So if you’re listening to this and you think you might not like it, I would say give it a try, because it’s really hard to guess. And also, in my experience, I don't know if it’s true for you, learning is a lot more frustrating than doing.
So when you are trying to debug when you’re learning, it’s like, “I have no idea how to fix this bug. I’m googling everywhere. It’s so frustrating.” But once you get good, you can bring your idea to life and the debugging even becomes fun. It’s like you’re just in flow and you know exactly what to do.
I think it’s hard when you don't know what you don't know and you don't know how to figure it out. That’s extremely frustrating. But if you can fight through that, then you hit a point where it’s more comfortable and less unfamiliar.
Yeah. That’s a good way to put it. When you don’t know what you don’t know, then it’s all question marks everywhere. How should somebody go about learning how to code? I mean, obviously they can check out Coder Coder and go to your Instagram and your website, but is there a golden path, a place they should start, and any resources that you would recommend?
It does depend on what their end goal is. If it’s to make their own app or whatever, mobile app, then obviously you’d want to learn mobile development. If you want to make your own web app, then I think you need to learn the basics of web development and then learn programming language, whichever stack you choose.
I don't think there’s one better than any other. I think PHP is a viable option for someone who wants to learn PHP. But I think in terms of resources, I usually recommend a freeCodeCamp. They’re a free online boot camp.
I will second the recommendation for freeCodeCamp. I had Quincy Larson, the creator of freeCodeCamp, on the podcast last year as well.
Check that episode out if you’re listening. It’s a cool resource. They still publish a ton of content about learning how to code. Do you still send them articles?
Yes. I haven’t done so for a few months, but I’m currently working on my rewritten version of The Absolute Beginner’s Guide to Web Development, which they had on their site before. This will be a new version, just better I think.
They’re just such a huge distribution channel because they have so many followers, so many subscribers. If you’re trying to put out content, it makes no sense not to submit something to them, every now and then at least, to build your own following.
You mentioned something in that vein earlier where you were just trying to look for these places where potential readers of yours might hang out, Facebook groups, freeCodeCamp. What else did you find in your search? What are some things that perhaps didn’t work out?
Something that didn’t work out? Well there’s always a lot of trial and error that goes into building anything, as I’m sure you know. For me, it did happen in Instagram, where I got into a little bit of a rut because I was not happy with the content that I’d been making at that time, and I had to step back and rethink things.
This had happened because I’d seen Net Photo’s computer setups get a lot of likes, so I’d started mashing that A button and doing a lot of those. The photos did get likes, but I felt over time that both I and my audience started getting tired of those types of pictures, because there’s only so many different ways that you can take a picture of your computer.
I realized that I’d gotten caught up in chasing likes and internet points. I felt that I had honestly gotten a little bit off track in terms of reaching the people that I originally wanted to reach and to help.
So after thinking about it, I realized that if my goal is to eventually create courses for beginner web developers, I need to make all my other content, even on social, related to that. It’s my top-of-funnel content.
So I switched gears a bit, and although I do still post some photos of my computer setup sometimes, I also spend quite a bit of time creating and designing these mini-tutorials and posting them as gallery posts in Instagram, where you can slide and read multiple pages.
Those have done well. I’m not only getting good engagement, I’m getting likes and comments and even having discussions with people, but I also feel more proud of that kind of content, because I feel it’s creating value for people. That’s one thing that didn’t work out exactly as I had planned, and it had forced me to rethink my approach and try to make it better.
Well cool. That’s a good cautionary tale and also a lesson of how you turned things around. I think that’s a good place to end the episode. Thanks so much, Jessica, for coming on the show. I wish you the best of luck with your course.
You’ll have to post it on Indie Hackers once you’re done with it. Those of us still struggling with responsive design will have to take a look. Can you tell listeners where you can go to learn more about what you're up to with Coder Coder?
I’ll post it up on Twitter, if you want to follow me on Instagram and YouTube. I’ll definitely post it up on those places. I do have an email list, so I’ll announce it there as well.
Cool. Thanks so much, Jessica.
Thanks for having me, Courtland.
Quick note for listeners. If you’re interested in coming onto the podcast like Jessica to have a quick chat with me, go to IndieHackers.com/milestones and post a milestone about what you’re working on.
It can be pretty much anything. People have posted milestones about launching or finding their first customer. They’ve posted about growing their mailing list or hitting a thousand followers on Twitter. They’ve posted about getting to $100 or $1,000 or $100,000 a month in revenue. The sky is the limit.
So whatever you’re proud of, come celebrate it on IndieHackers.com/milestones, and other Indie Hackers will help you celebrate. We love supporting each other. We love encouraging each other when we hit these milestones. And what I will do is at the end of every week, I’ll look at the top milestones posted and I’ll reach out to a few people to invite them to come onto the podcast for a quick chat. So once again, that’s IndieHackers.com/milestones. I’m looking forward to seeing you there.
If you enjoyed listening to this conversation and you want a really easy way to support the podcast, why don’t you head over to iTunes and leave us a quick rating or even a review? If you’re looking for an easy way to get there, just go to IndieHackers.com/review and that should open up iTunes on your computer.
I read pretty much all the reviews that you guys leave over there, and it really helps other people to discover the show, so your support is very much appreciated. In addition, if you are running your own internet business or if that’s something you hope to do someday, you should join me and a whole bunch of other founders on the IndieHackers.com website.
It’s a great place to get feedback on pretty much any problem or question that you might have while running your business. If you listen to the show, you know that I am a huge proponent of getting help from other founders rather than trying to build your business all by yourself.
So you’ll see me on the forum for sure as well as more than a handful of some of the guests that I’ve had on the podcast. If you’re looking for inspiration, we’ve also got a huge directory full of hundreds of products built by other Indie Hackers, every one of which includes revenue numbers and some of the behind-the-scenes strategies for how they grew their products from nothing.
As always, thanks so much for listening and I’ll see you next time.
Did you know Indie Hackers has a newsletter?
Sign up to get insights, takeaways, and exclusive content from each new episode, directly from the host, Courtland Allen.