So many kids decide to become software engineers because they were captivated by video games at a young age, and they dreamed of crafting that magic themselves someday. More often than not, they end up working at Facebook or Google building web apps and selling ads. But not Dave Geddes. Dave (@geddski) followed his passion, quit his lucrative job, and is making a living creating games that teach people to code. In this episode, Dave and I talk about the moment that led to him leaving his high-paying job, the launch of his first game, and how he's reaching tens of thousands of people.
What's up, everybody? This is Courtland from Indiehackers.com and you're listening to the Indie Hackers Podcast. More people than ever are building cool stuff online and making a lot of money in the process. On this show, I sit down with these indie hackers to discuss the ideas, the opportunities, and strategies they're taking advantage of so the rest of us can do the same.
It's not uncommon for software engineers to get into programming because of video games. The story usually goes that they played a lot of games when they were a kid and they were just so excited to be on the other side of that equation and eventually build and design and create and produce these games as a game developer rather than just a player.
Usually when I talk to these engineers, I ask what they're doing now. They have completely sold out. They’re working for the man, they’re at Facebook or Google making hundreds of thousands dollars a year to make a web apps. They completely lost that childhood spark, that dream to go make the games and inspired them.
Not Dave Geddes. Dave is doing something near and dear to my heart. He's actually making games that teach people how to code. He's not giving them away for free. He's selling them for a lot of money, hundreds of dollars in fact, and actually sustaining a living by doing it.
I had a really good time talking to Dave. He's somebody who follows his dreams, doesn't give up on them. There's lots of learn from how he was able to do that. Enjoy the episode.
So cool. I'm glad you're here. I'm just going to jump into things. Kind of the origin of how I came across you is five years ago, I was teaching my brother how to code. I was like, you should be a front-end engineer. It’ll be super easy. You can basically work from home. You can make a ton of money.
He wanted to be a writer at the time. So, I was like, you could basically work two or three days a week and then spend the rest of your time writing. After I taught him how to code, I was like, before you apply to jobs, you need some kind of project that you can work on that'll be the culmination of everything that you've learned, all the skills put together, and you can take that to potential employers, wow them blow their socks off and also to just help you make sure that you're going to do good for interviews.
I had a bunch of different ideas for projects at the time. One of them was this idea of a game that would help you learn how to code something. I'd been playing these tower defense games. They're super fun. They're really intuitive. Anybody, whether you're a gamer or not could just jump into a tower defense game online, then you would just get super addicted and sucked in for hours at a time.
Yeah. I love those.
They're super good. Right.
I was like, why don't you make a tower defense game Channing and use that to teach people Flexbox. He did, he created Flexbox defense.com. Basically, anybody who needs to make websites needs to learn Flexbox and his game turned out super good, he launched it on Hacker News. Got a lot of traffic, eventually got a job.
This is again, five years ago in February, 2016, I've been checking his stats. I just checked this morning. His game still gets 25, 30,000 page views a month, five years later with him doing literally nothing. It doesn't even rank on Google when you search for Flexbox, but it's working. Like people are linking to it.
That first tech job is hard to get.
It really is. It helped him that he had me cause I was just on him every time he was slacking off or I saw him doing something else, it's like, how's your game going? It took him a good couple of months to finish the game. I mean, it's super basic. It's really ugly. The graphics are terrible. It's kind of buggy, but it was good enough. He put some donations on there and I think he still makes a few hundred bucks a month from people just donating.
So you were like his brother slash PM.
Exactly. I should have taken my cut.
Anyway, fast forward. I've been telling people forever. Hey, this is a really good idea. Why aren't more people making games to teach people how to code? To be fair, I haven't done a lot of searching. Maybe people are, but eventually you popped across my radar a couple of months ago and I found Grid Critters. You can find it gridcritters.com and looking at it right now. This is not a side project hobbyist game.
This is legit, amazing graphics. You've got sound effects, guides, hence tips. It's an amazing game. You're teaching people CSS grid through gaming, doing exactly what I've been saying indie hackers should be doing. This is not a hobby for you. It's real.
The game costs $99. It costs more than a lot of AAA games that cost hundreds of millions of dollars to make. You're selling this online and making a living for yourself. Are you fulltime on this?
I am. Yeah. I just passed the four-year mark.
Would you mind sharing your revenue numbers? How much do you need to go full time on a game like this?
Well, so I started out with some savings, I was working at Domo and I was making a lot of money as an open web architect. I was able to just save it and save it. I was also running a tech conference that was paid. So, my savings, I was just building it, getting ready because I've wanted to do my own thing forever ever since I was a kid.
My dad would make me weed in the garden and I hated it. I put all my energy towards finding ways out of it. My dad has videos of me throwing a tantrum over a chore I didn't want to do, but somehow, maybe he manipulated me and tricked me into this. I don't know. But somehow I got the idea that I should sell pumpkins to the neighbors. I planted the seeds. I started growing these pumpkins and suddenly weeding was like a delight.
I was out there, weeding it all time. I saw one little dinky weed. I'd pull it. Yeah. It didn't feel like a chore at all. Now that I think about it, my dad probably did manipulate me into this.
A little bit of a Jedi mind tricks on you.
But anyways, I would grow these pumpkins and go out and sell them to the neighbors. I didn't realize the implications of that until much later in life, but I've always wanted to do my own thing.
Fast forward to four years ago, I was working at my job and making a lot of money, saving up for something. I was miserable, you know, I just, I hated it. I just felt like I was withering away inside ven though I seem to have everything I needed. High-paying job, insurance, working with friends. I recruited a bunch of friends to come work with me there. But I was miserable.
I took my family to see “Moana” in the theaters. You're probably too young to remember this, but back then, you could take a group of people to a large room and watch a movie in a room called a theater.
I've heard stories.
Anyway, so we watched “Moana” and the whole thing became a metaphor for my journey. Moana was on this Island. Everybody seemed happy. She had everything she needed, except for that sense of fulfillment and purpose.
When it got to the part where she's staring out into the ocean and start singing, “It calls me…” I just lost it. I lost it. I was weeping in the theater, just hoping my kids didn't see their dad falling apart.
That's when I knew I couldn't stay at that job anymore. I can’t keep going against my purpose. I talked to my wife and she was on board. She's so awesome and supportive. And I quit. I put in my two weeks’ notice. I didn't have whole lot going on besides the savings, you know, that was huge.
I didn't have much of a plan except I had been putting together my resume cause I thought maybe it's the job. Maybe I'll go get a different job. So I've been building my resume in Apple pages and I couldn't center some text and it was just driving me crazy. So, I was like, I know I'll do this in CSS. I know CSS.
I started it in CSS. I posted up at McDonald's. One day I took the day off and was just working with an infinite supply of Diet Coke. This was back when you could go into McDonald's. I was working on this and I had the same problem. I couldn't center the stupid text with a CSS. I'd use Flexbox a bit at my jobs and whatnot so I was a little bit frustrated that I had to keep going to a CSS tricks page.
Yeah. I know the exact one with the two columns and they tell you exactly here's how to use Flexbox. I've been there a million times as a reminder. How do you center things again?
What does this property mean?
I got frustrated with that and I was like, ah, I should figure it out. I should really learn Flexbox if I'm going to go get a new job, I'm going to need to know this. So, I started coming up with these metaphors to remember the Flexbox properties and what everything does. I came up with this idea of a crossbow shooting zombies, a guy shooting some zombies using the Flexbox properties.
That really helped. I started using it at work, Flexbox more. I started teaching people because, you know, everybody struggles with Flexbox as a universal. It was actually really helping the people at work. One of my buddies encouraged me. He's like, hey, you should share this online. I bet this would help a lot of people. I was like, oh, okay.
I created a real crappy email version of it where every week you'd get a new email showing how to do certain properties in a junky little code pen exercise to go with it. At the bottom was a newsletter signup. I just put it out there. I didn't think much of it until near the same time of this “Moana” show I got all of a sudden, like 300 people signed up in a single day for my newsletter because of that Flexbox thing I had made.
How'd they find it?
I got really lucky that I made friends with someone who's pretty popular early on. His name's Kent C. Dodds, and he's a buddy of mine. We worked together at Domo. In fact, I helped him get his fulltime job there. We kind of coerced the CEO. But that's a different story.
He's a machine. He's teaches so many people how to code. I think he's got a bunch of courses up on Egghead, I believe. And he's just a super good at teaching people.
He really is. He's an awesome guy, too. Just all around good guy.
He posted on Twitter about this thing. I think that's where most of the signups came from.
It was just this perfect combination of what I've been wanting to do, go do my own thing with, hey, here's something that people are already kind of interested in. I quit my job and I set out to build Flexbox Zombies as a real version of that Flexbox course that I had made.
Well, let's pause here for a second because we can't just gloss over the fact that you watched “Moana” and then you quit your job. I mean, what does that say about Disney for number one, that they can make a movie that's really made for kids, but you can be there with your kids trying to hold back your tears and then make these life changing decisions so that you, too, can be a Polynesian princess headed out to the ocean or whatever she wanted to do. What was that like quitting your job? How did you feel about making that decision?
Well, it really influenced me. I'm wearing coconut shells right now. You can't really see it, but it was so impactful.
Who knows, I may have arrived at the same destination had I watched “Aladdin” or who knows anything else, but it just really struck me because I think deep down, I knew that I'm not really cut out for the nine to five, not cut out for the working for somebody else.
I need to have my own thing that I'm working towards that I’m building and that sense of autonomy. If you've read the book “Drive,” I think it's by Dan Pink, he talks about the three things that make a person happy in their work and it's autonomy, mastery and purpose. I was missing two of the three with autonomy and purpose.
As soon as that “Moana” came in, it was just the perfect time. I was like, you know what, I can't worry about health insurance. That's going to suck. There's going to be tradeoffs, but I had to just make the jump. I had to kind of overcome that fear and just do it.
Did you have a framework in mind for what success would look like once you quit your job? Because the second you don't have a paycheck coming in anymore, you're on the clock, you've got a certain amount of time to basically supplement your income or replace your income or you've got to go back to having a job. There's a little bit of comfort at least in having some sort of plan for okay, here's what I'm going to do. Here's how fast it's going to take me. Here's how I'm gonna make money.
At the React Rally conference, I was talking to my friend, Ryan Florence, who I've always looked up to and I showed him another side project I had. I'm a big believer in side projects, I think they're so important. They push you to learn new things.
Anyway, I was showing him a side project. It was a Trello app, a little bit different, but basically a Trello clone. I pitched to him what if I started my own thing doing this? And he's like, you're going to quit your job and do a to do list? That was pretty crushing.
Well, plenty people have done it. Plenty of people have regretted it.
Yup. At that same conference, I was talking to John Lindquist, one of the founders of Egghead. He told me about a course by Amy Hoy called 30x500. It's pretty pricey. It was a couple of grand. I think it goes into the marketing and the audience building side of things.
I'm a builder. I like to build stuff. I didn't know at the time hardly anything about marketing or launching my own products. So, I bought 30x500. I was devouring the content and I started building that list. To date there's about, I think 70,000 people have played Flexbox Zombies and they're enrolled on my email list.
You get some unsubscribers every time you email. I think the standard's about 0.5%. On this last time I lost I think 300 subscribers, but that's just part of it. I've built up this giant email list. That was part of my plan, but I don't know, you can't spend so much time trying to find the perfect plan before you jump, you'll get paralyzed. You'll never find it. You'll never find a perfect plan because things change and you'll learn so much just by doing it.
There's so much to be said for striking the right balance there, where if you have zero plan whatsoever, you're probably going to repeat a lot of preventable mistakes that people have already made that you probably shouldn't make.
If you have nothing but a plan, you don't have any sort of bias towards taking action, you're going to be one of the many people I know who are always talking about other events you're gonna start something one day. But they're waiting for the very perfect thing to come around because they don't trust enough that like once you get started, you're going to start figuring it out so to speak how to build the plane on the way down and that's just necessary. You can't predict everything in advance.
I like the fact that you decided to take a 30x500, that's a course that teaches you how to think about coming up with business ideas and how to prevent making some of the preventable mistakes. It really de-risks things because you're not aimlessly on the internet, reading random articles. You're reading material presented by someone who's an expert. Amy Hoy's taught a lot of people to start businesses and a lot of them have made very successful businesses. I've had a few of them, like Brennan Dunn, on the podcast.
I'm just curious, what are the big takeaways you got out of 30x500, if you remember any of them?
I think the biggest takeaway was to think long-term. Your goal as an entrepreneur is to build trust, build people's trust, to deliver value and value and value over and over again through your blog posts and small products.
In my case, Flexbox Zombies, I gave it away for free. That's why there's so many people that signed up for it. People want to reciprocate. If you give them so much value, eventually when you give them an opportunity to reciprocate that, like I do with Grid Critters, 99 bucks, a ton of people want to reciprocate and buy it and then they still get something out of it. It's just this good cycle.
That was my plan was to give that away for free and then figure out what was next. My wife was a little bit wary of the idea of spending six months in giving the end result away for free.
I bet. It doesn't sound like much of a solid business plan.
No, but when I launched that, within about a couple months, there were 12,000 people all of a sudden signed up and on my email list. So, I started just writing blog posts about Flexbox and whatever other develop-related things I could think of.
I had this experiment in my mind. Okay. I'm going to build this next game to see if people will buy it. I really had no idea. Actually, I had a lot of anxiety around it. Why would someone buy a product when there's free versions, there's free things out there to learn CSS grid?
There's a ton. You can learn all this stuff without spending a penny, but I built this thing and I built my, kept building my audience, giving them some inside peeks into what I was building. I launched the thing and I went on vacation because I just couldn't take it. It was just too much to stress about.
My wife and I, we went on a little staycation with the kids, downtown Salt Lake at a hotel. I remember I was sitting there at the pool with my legs dangling in the water, watching the kids fight, as they do. My phone just started blowing up. I was ignoring it and that it just kept going, boom, boom, boom notifications. I took a look to see what it was thinking. It was probably just that dang in-laws group chat that just drives me nuts, you know? Everybody has one of those and you can't get rid of them.
You can't, you can't. Yeah. You can't, you can't cancel your in-laws.
Hopefully my wife doesn't listen to this, but yeah, I thought it was that, but I checked my phone. I saw it was notifications from Teachable, which is the platform I used to host my courses back then. And it was just pre-order, pre-order, pre-order for Grid Critters.
I just, I couldn't believe it. That was my first taste of making a buck directly from my own thing. It just, it transformed me. Amy Hoy, she said that it would, she said, you'll never be the same after you make that first dollar. I thought that was a little bit cliche, but it's true. It gave me the taste for that.
I made, when I launched that I made like $30,000, which replenished, some of my runway just gave me so much motivation.
Such an interesting point about he fact that you're basically building your audience. This is term I've been using a lot this year is social capital.
The entire idea behind social capital is that you're building goodwill with people. You're putting out all this information. You're telling people how to do things, how to learn things. You give them the behind the scenes, sneak peek as to how you're learning, the things that you're doing and what your strategies are. And it's all free.
It seems like you're not getting very much in return, but you're actually building up this goodwill, which gives you basically four really distinct things: trust, reciprocity, sharing, and cooperation.
So, trust, if you're teaching people for free all the time, they start to build trust and like, hey, this guy, Dave is a really good teacher. When he puts stuff out, it's usually pretty high quality. So, if he puts something out in the future, I trust that it's going to be good.
They try the solution you recommend, and it works for them, you know? Amy talks about you give them a tiny win and that builds up, builds the trust.
Exactly. I think a lot of people's model of the world is that if you put out information, everybody's just going to evaluate that information on its own. There's going to be these objective little robots that look at it and assess how good it is. But, that's not really true.
We're always using shortcuts. I think the people that we're getting information from is a huge shortcut we all use to say, do I trust this person? And if so, this information must be good. Do I not know this person then if so, you know, I'm going to be a little bit wary of information.
So, you're building trust. You're building reciprocity. This is just a thing that's woven into us at a very animalistic, instinctual level, when somebody helps us, we kind of want to give back to them and figure out how to help them in some way, because that's kind of what helps society work.
So, when you're giving people stuff for free, and then you launch something that costs money, there’s this kind of a personal thing there, it's like, man, Dave's helped me so much. I want to buy his course. I'm going support him. I have goodwill towards Dave. That reciprocity is so valuable.
I have had many people reach out and offer, hey, can I, can I pay you for Flexbox Zombies? I got so much out of it. And I'm like, nah, but you can go by that. I think you're so spot on with that.
And then the last two are sharing and collaboration. Maybe it's a form of reciprocity, but people want to share what you're doing because you're putting out a lot of stuff for free. There's more stuff to share and people feel like they owe you and they want to help out. So, they tell their friends about it, happens a lot with Indie Hackers.
Then, cooperation. People want to cooperate with you. If you ask them to do something, or you want some help, people were willing to give you help and work together because they’re like I trust you and I want to work with good people. Out of all people in the world, you're sort of de-risked as a person to cooperate with.
I think it's so hard for a lot of people to understand why it's important to build an audience and put things out for free because there's no real gauge. There's no real way to measure all these things. There is no trust meter on Twitter that tells you how many people trust you or how deeply they care about you.
You just see the number of people on your mailing list, the number of people you have on Twitter. But I think if you're going to do something, especially educational, it's so invaluable to have built up a ton of goodwill so you've got all that trust and reciprocity and sharing and cooperation later on.
Almost every single person I've talked to who creates courses or who educates people, they all started by building an audience.
The best way to do that is to give away something for free. Going back to that sharing aspect, one of my favorite books for business is called “Personal MBA.”
Love it, by Josh Kaufman. He's been on the podcast before and we went through basically his book chapter by chapter, and then kind of explained the entire thing a couple of years ago.
One of the things I think has helped my games become so popular is I accidentally did one of the things he recommends in that book, which is to build remarkability, he calls it, into your product.
So, think about the one wheel. Have you seen the one wheel or heard of the one wheel?
No, never heard of it.
It's like an electric skateboard with a big old tire in the middle.
Oh, I've seen people riding these in San Francisco and Seattle.
Yeah. So I have one of those and I love it. Whenever I ride it around, people are, especially kids, are like, whoa, look at that. And they yell out from across the street, “What is that?” And I yell, “One wheel!” Then they go buy it or they begged their mom or whatever for Christmas.
Onewheel.com, but that product has, remarkability just so baked in. I don't think that they have had to do any marketing. I haven't done any marketing. My games are so different from everything else that's out there that people, they're remarkable, so, people remarked.
I haven't spent anything on ads. The only marketing I have is my content and the content marketing on my blog. That's it.
Yeah. There's a lot of myths out there about like why products get shared by word of mouth. I think probably the number one myth is: if you just make something really good, people will share it. People do like to make good recommendations. Nobody wants to recommend things to their friends that are crappy, but there's all these other things that align with people doing word of mouth growth.
I think, for example, aligning yourself with events that people are already talking about. There's a guy actually who has a newsletter. I forget what it's called. But he writes about politics and specifically, what he does is he takes the liberal point of view and the conservative point of view, and he kind of puts them, pits them against each other on particular issues and tries to sort of figure out what's the actual truth here.
You know when his newsletter blew up? Around election time, because everybody was talking about the election. Because everybody already had a lot of energy and interest in talking about that, suddenly the thing he was building was being talked about. It's not like his newsletter got any better around the election. It was just sort of on theme with something people were talking about.
Can we go and kind of like walk through your process for making some of these games? Cause we sorta of just like blitzed through the fact that you made Flexbox Zombies and you grew that mailing list to, how big did it get?
So, 70,000 people enrolled and 60,000 people active on the mailing list.
First of all, you talked about the fact that you did kind of some influencer marketing for Flexbox Zombies. I mean, you had friends who were influential in the space and that's how you got your first few hundred subscribers. How did you go from a few hundred subscribers to 70,000 people on your email list?
I don't know is the short answer. I mean, that's why I attribute it to remarkability because as far as I can tell people are just sharing it word of mouth. I had one guy tell me, he wrote in and said, he's a junior engineer, just got his first job and he was working with a senior engineer and the senior engineer was like, how do you know so much about Flexbox? Cause he was just flying through it.
That's the point of my games is that it gives you that muscle memory, gives you that intuition about the text so you don't have to go look things up. You don't have to stop. This engineer, senior engineer was just so impressed with this kid who was a master of Flexbox that he asked him, how'd you do that?
Then the kid shared Flexbox Zombies. I think you have to have a product that's not just cool, but also has to be really effective for people and give them those wins. Then if you give them that, they're going to share it.
I mean, you're basically living the dream. I don't know very many indie hackers who would choose to have to do a bunch of marketing when they could do what you're doing and just work on making the products actually pretty good. You wake up a couple of years later and you got 70,000 subscribers, like that's nuts.
One of the trends we've been seeing a lot this year is people building apps that help people make money. There's this whole creator economy thing going on where you're like, hey, don't just write a newsletter, but write a newsletter that people pay to subscribe to.
If you can make a platform like that, people want to use it and they can talk about how they made a lot of money cause they're on Substack or whatever platform you made. What you're doing is you're building tools that kind of make people into like bad asses.
Kathy Sierra gave famously a talk about, I think the minimum viable bad-ass or something like how bad ass can you make your users? This kid who’s talking to the senior developers, he's a bad ass he's super, really good at CSS Flexbox and that's because you made him that way. That in of itself is really remarkable.
Kind of a cool way for people to think about the things that are building is if somebody actually uses the thing that you're creating or takes the course that you're creating, in what way are they going to be a bad ass? How bad ass does it make them?
For you maybe the way it makes them a bad ass is they don't ever have to look up a reference cause they're playing a game. The game is one of the few things that people like to do over and over so they can kind of instill that muscle memory in that practice. They come away from it, not just knowing Flexbox, but knowing it reflexively to the point where they don't have to think about it. That's way more bad ass than almost any other tutorial or video course is going to get you.
Totally. I like what you said about what you're doing for the person, the user, that comes to you for help with whatever it is. I've made it sound all rosy, but there's been ups and downs as there's going to be in any business.
I went through a pretty, pretty dark time when I was just pretty discouraged, pretty depressed. I got out through that, but I realized, thanks to the help of Alex, Amy's partner in 30x500, that I had, I kind of lost track. I'd lost sight of the customer. I was thinking about myself.
I was thinking about how my business is going to help me and worrying about my own income, which varies wildly and I’d completely lost sight of the customer. As soon as I kind of locked back on onto them, like how long I am helping people, then I got out of that slump, got out of that rut that I was in.
How did you manage to do that?
The 30x500 course gives you basically a way of doing customer research, where you're studying questions people ask and forums and problems people have, and you're looking for pain basically. You're looking for what is the problem that people are having? Then your job is to go and fix it for them, go and make something that can make that pain go away.
I started just doing that a little bit every day. It mostly, it was a mental thing. Just kind of re-centered me. If you've done any pottery or seen any pottery, if you're trying to make a pot and it's not centered, it's going to spin and fly all over the walls.
You gotta really be centered on the customer, centered on the person, on the people you're trying to help. If you don't, things are gonna get out of whack pretty fast. That that happened to me.
I've been through similar periods with Indie Hackers where I'm just looking at my internal metrics and my internal goals and my to-do list and everything to do with me, which is pretty unforgivable for something like Indie Hackers because it's a giant community. It's literally a product that's made of people and, yeah, there's some code there, but it's really the people who power everything.
What I've been doing recently is also directly related to how I met you, which is, I'll just take some time to just read the forum, go through the product directory, read through Twitter. Whenever anybody's doing anything cool I just send a DM and I'm like, hey, let's talk.
We spoke maybe a month ago and it was just cool talking to you and learning about what you're doing. I don't even have really an agenda besides just finding out more about what you're up to you and just learning about it.
As a side effect of that, I end up seeing, okay, this is how Indie Hackers is affecting people. This is what people are working on. This is why people are motivated. It's contagious. People are excited to achieve some goal, whether it's getting better at Flexbox or making money or achieving freedom so they can quit their job.
That's kind of infectious. When you talk to people, you're like, okay. Yeah, this is why I'm doing this thing. I'm reminded of why I'm doing it. People have all sorts of ideas and suggestions. It's just way more fun, I think, if you can find a way to bake in that social interaction and talking to people so you're not just heads down coding all day or heads down marketing or building all day.
Totally. That's a good fit for you. For me, if I was talking to people all day long, I would hate it. For me, I would rather be heads down coding all day. I think that's cool that you can have a successful business that is a good match for you.
How did you acquire all the skills to do this? Because I'm looking through your games. Right now I'm literally playing Flexbox Zombies and the graphics are super legit. These are professional level graphics. You've got a storyline in here, too. You're a good writer. Where does one acquire the set of skills needed to make a full game like this by yourself? What are the set of skills? What else is there besides writing and graphics?
Writing's huge. I got the writing skill just from reading a ton as a kid and as an adult. I love fiction. I love sci-fi and I read a lot. I think when you do that, you just naturally become a pretty good writer. There's art. I'm an okay artist. I'm not amazing. I like to sketch things out. For Flexbox Zombies, I wanted it to do it right. I wanted to make it all my games just really awesome so I actually hired a professional game artist, a concept artist to create the final work. My role was a bit more of an art director, I guess you could say.
It's like you're giving him storyboards and sketches and he's turning it into his final product, which kind of looks like I don't know if you ever watched “Samurai Jack.” It was a show on Cartoon Network in like the nineties, but the theme of Flexbox Zombies looks exactly like that. It's super cool.
I'll check that out. But yes, I would work with him and I realized I had done all the things myself for the first one and it turned out okay. But I realized if you can hire people, maybe not fulltime if your business isn't ready for that, but contractors, people who are better at certain things than you are, and you can get a way better end result.
I did all the animations myself for that game and Grid Critters. Then for Service Workies, I hired a professional game animator to take it to the next level and add way more polish than I could have done on my own.
I think as an entrepreneur, it's good to have a nice breadth of skills and maybe deep on a couple of areas like I am with code and maybe writing, but areas where you're not as deep as you maybe want to be there's no shame in outsourcing part of it, to contracting out parts of it.
How do you outsource an artist or hire an artist? Where do you go to find a good artist? Do you test out artists and how much does this actually cost you as a a bootstrapper who basically is burning cash a lot?
I've probably hired 10 different artists at this point. I go browse artstation.com. I look for art that's got the style and the personality that I like. Then I reach out to him and say, hey, are you doing any contracting right now? A lot of times they're not, but if they are, then I'll have them do one piece, usually a blog post illustration, and those can range.
I've had some artists do a single illustration for 80 bucks. I've had an artist want to do it for two grand for a single illustration. It's just all over the place. I try them out and if the price is good and if their work is incredible, then I go with them.
What would you estimate a cost to do all of the art for a game like Flexbox Zombies, which has dozens and dozens of chapters and this cool character and this little wizard guy who's guiding you and giving you instructions. I mean, this is a fully-fledged, everything is well designed.
If you don't count my own time spent into it, just the amount I paid to contractors on that one, I think it was about a little over $10,000.
Oh, that's actually not that bad. It could be much worse.
Not too bad. I tried to limit it, but then on a game like Service Workies when there's way more characters… So, Google sponsored that game. I had basically an unlimited budget. They reached out to me and said, hey, we want you to teach. service workers and you can keep the game. I was like, okay, sounds good.
Theon Elmer, who I've been a fan of forever, is the one that reached out. He's the manager of Google Chrome.
They paid for the whole thing so I went crazy with it. I probably spent $170,000 in contractors between animations. I hired this German composer guy to write custom music and sound effects. I went all out, I took it to the next level, which was really, really fun.
This is another, I think, example of why it pays to do something that's unique because, okay maybe you're not the only person making coding games, but there's really not very many people who are doing it. Certainly not many people who are doing it like fulltime, willing to put in as much effort as you are.
So, if Google is sitting in their boardroom, trying to think about what are we, what are you going to do to like advertise service workers? Can we do a game? Is anyone making a game? I'm going to do a search and it's not going to be that many people who come up beside you, and you're going to be the cream of the crop.
So much of the sort of arbitrary sort of lucky benefits will fall into your lap because you're doing this thing that no one else is doing. I think it's one of the biggest reasons why, if you're an indie hacker, you kind of want to just do things that are unique. If all else is equal, don't copy what everybody else is doing.
The pressure to copy what other people are doing is immense, especially if you're like going off the rails, you're doing your own thing. You want to look around and say, okay, you're going to someone, someone else is doing X, Y, Z. I must do X, Y, Z. They're making a paid course, I must make a paid course.
I think if you have a little creativity and you anchor it to the problem that you're solving, you're still solving the same problems as other courses, you're helping people learn, but the solution you're being is creative as possible, you're injecting your own art style into it and your own format into it, there's no reason to make your solution to problems the exact same as somebody else's.
I think that differentiation, that courage, I guess, to do your own thing is kind of what helps you accrue all the luck and all the benefits.
Totally. It's a good, it's a good match for me. When you find a good match, you don't have to pretend. You don't have to act like somebody else.
If I was just trying to make videos, I would suck at it. I think I've made a couple of videos and they take me like three weeks. Whereas one of my friends, Tyler McGinnis, he can bust out a video in an hour. So video isn't a great medium for me. But I've always loved video games and I got in trouble as a kid for playing it too much.
You’ve got to find a good match. But to find a good match for you, I think you have to try a lot of different things. I fell in love with the idea of pottery because my dad is a potter, an artist. I bought a kiln. I bought a pottery wheel. I installed them in my basement. Then they sat there collecting dust for years and costing me wife points on a regular basis.
I probably could have found a cheaper way to try that, but you got to try a lot of things to find something that's just really good.
So let's talk about your first paid game. You talked about the fact that you built it, it took you what like six, seven months to build Grid Critters.
Flexbox Zombies was six months. Grid Critters was nine months.
Nine months. You basically didn't make a dime in those first seven plus nine months, and here you were hoping that you're going to have this big launch and that people are going to pay you money for Grid Critters. What was your initial price for Grid Critters?
So I did a pre-order price. The pre-order price was 145 bucks. The full price was $229 when I launched. I've since kind of felt bad. I would see someone purchase it from the UK and have to pay VAT tax. They’d be paying $279. And I was like, ah, that's just too much.
So, I took a page out of Henry Ford's book where he just kept lowering the price of his cars. Revenue, every time he lowered the price, revenue would go up and he'd just keep finding ways to make his cars better and make them more efficiently. I did that, lowered the price to $179 and sales went up and then last year I put the game on sale to 99 bucks and sales have been way more steady and way better since I did that so I've just kind of left the price up.
I recently built a coupon feature so that I can give additional coupons. I have this idea where if someone beats a game, I want to give them what I'm calling Mastery Coin, maybe 10 mastery coins, and maybe they're worth a dollar each, I don't know. Then you could enter the coupon and take additional discounts off of the next game.
So, even more incentive for people to finish the game, to complete the course, then the next ones will be cheaper and they can just, or they can use it for swag. That's my idea eventually, buy a Mastery Games T-shirt using the Mastery Coin you've earned or whatever.
I built this coupon feature. the day after I shipped it, I got an email from a 10-year-old kid who had hacked it. He sent me this video, he's a genius, 10 years old. He used this program, he proxied all his requests to this program called Burp Suite that basically doctors that the server responses. He used that to trick my UI into thinking that Grid Critters was a free game, not a paid game. He got the free enrollment screen but he was too honest to click it.
He sent me the video and I freaked out. Of course, I was like, shoot. I didn't make this very safe. Luckily, I'd thought to verify, had he clicked it it would have verified on the server before right enrolling him in the game. But he didn't know that, he thought he'd gotten through and he was just honest. I replied to him and I told him I'd granted him access to Greek Critters for free. I was so inspired by the kid. When I was 10, like I said, I was just trying to get out of weeding the garden.
I wasn't hacking web games for free, crazy
So impressed. It's really cool to have to be inspired by the people that you're serving, also.
One of the cool things about building for the internet is you just get so much scale. If you're building something that reaches 10,000, a hundred thousand, a million people, then it actually becomes pretty likely that you're going to experience one in a million events. You're going to meet extremely impressive people or extremely rare things are going to happen that are both good and bad.
I've had all sorts of crazy bad things happen with Indie Hackers, but also a lot of really amazing people. There’s kind of this understated adventure aspect to doing something ambitious and building something for as many people as possible where you're just going to meet really inspiring people like that.
It sounds like your ambition is sky high. You want to have a whole suite of games and you want to have a store and you want to basically spread as far and wide as possible. How do you do this by yourself? Do you plan on hiring other people or is it just going to be the Dave Geddes show forever?
Right now it's just me with some contracting help, but I would love, that's where I want to go is have a small studio with me and maybe four other people just working fulltime, cranking it out these games. Now I've been writing tools for myself that make building new games easier and more efficient, but nothing can beat having help. I would love a little tight studio where we're just cranking out these mastery games.
This is the programmer's dream. I know so many programmers who they started coding because as kids they played games and they're like, I would just love to make a game. They get older and it's like, oh, working for like a game dev studio sucks. I guess I'm just going to be a web developer.
But you've figured out a way to be a web developer and make games and do it for yourself and design everything without needing permission from anyone. You're actually getting paid for doing this cause you didn't decide to give away for free, like my brother did and asked for donations. You decided that you're actually going to charge money for this thing.
I don't know if the donation model works.
I don't think it does, looking at how much he's making compared to you. It's clearly not.
I see a lot of Patreon pages and things, people trying to go with the donation. I read this, I can't remember which book it was, but basically the idea was over time, the amount of gratitude someone feels towards you for something you gave them decreases. Over that same time, the amount that you feel that they should be grateful to you goes up.
So, there is this disconnect. You give someone something awesome. Over time, they feel less and less grateful. You feel like they should be more and more grateful. Donations come in a weird spot where it's like, okay, they can kind of clean their slate of that reciprocity by donating five bucks. Then they feel like, hey, I got what I wanted out of this. Whereas a paid game sets a price or a paid product sets if you really want to reciprocate, this is what this is worth.
Yeah. I think there's something about donations where you do feel really kind of smug and good about yourself. If you donate to something, I did this person a favor, I didn't have to pay and I donated.
Whereas if you pay a price, you're like, no, no, no, this is fair. They charged a hundred bucks and I paid a hundred bucks and it's fair. You don't feel like you've done this person a huge favor.
I think also there's something to be said for when you put a price on your thing, you're, telling people this is valuable. You're kind of telling people that you think what you did was great. Whereas if you don't put a price on what you're producing and you just sort of ask for money, you're kind of telling people, hey, this isn't really valuable. But, you know, I would love your money. I would love for you to help me.
Begging for scraps a little bit.
Yeah. This is the wrong message to send if you build something that actually is going to help make people badassed or make people money or help them solve whatever problem.
Oh yeah. If someone buys Grid Critters for 99 bucks and they mastered CSS grid in within the next 10 days, they're going to get that back so fast, whether they're building their own side projects or working for the man, I think there's a huge value proposition in there. I think any product that you make needs to have something like that, where it just transforms the customer into someone who can make money themselves.
I was talking to Tara Reed. She has a business where she's teaching people how to be no coders. If you don't know how to code, but you want to build apps regardless, you take her course, I think it's a couple thousand dollars, and she teaches you everything from how to use it, using Webflow and Airtable and Zapier and all sorts of different no-code products. And it works really well cause she doesn't just teach people how to use the tools. She teaches people kind of the business mindset.
In fact, she teaches that first, you start off with the marketing and the growth type stuff before you start building anything. One of the biggest lessons that she talks about teaching people is this idea of positioning. How do you position and market what you're doing in such a way where people are actually going to feel like it's worth something of value and pay what it's worth rather than people are going to think that it should be free or only worth like five bucks?
Then when I look at what you did, whether it's intentional or not, the positioning is really, really solid. A lot of online games are free. If I think about just getting the game, I'm like, this should be free. Or if I think about an app, I'm thinking this should be a dollar.
But your games, despite being games, you've pretty much positioned them as if they are courses, which they really are. They're giving you the same value as a course. For whatever reason, when people see a course, they immediately think, oh yeah, this is worth like a few hundred bucks. You know, this is worth a hundred bucks at least.
He charges like 80, 90 bucks for these courses and he's got literally tens of thousands of people who are acclimated to paying that much money to learn something really specific. So, I love the fact that even though there really weren't that many examples of paid games. Maybe you weren't the first person to ever make a game to teach people to code, but how many of those games are charging a hundred dollars?
One of the things I did with Flexbox Zombies, even though it was free, on the signup page I put the price. I put $229 and then it was crossed out and then say, free. That's a little something I got from Sean Wes. He basically says full price or free and if you're going to give away something for free, make sure people know what the value of it is.
Super smart. Love it. Yeah. I signed up for that and I thought I was in the wrong place. Cause I thought Flexbox Zombies was free and I saw the little price, but crossed out and I saw free. I'm like, oh, that's super clever because now I feel much better about what I'm like, I just got some value.
Now it's probably that's even more social capital where I'm like, man, Dave really hooked me up. You know, I got in here for free. I don't even know why it's free. I'm like, oh, did I sneak in on the right weekend? Is there a promo, maybe it's not always going to be free, I’d better signup right now because of this $229 price tag.
Yeah, it sets the expectation that, hey, these things are premium products. They take a long time to make, it’s worth a lot. It's going to do a lot for you, but this one's on the house.
Yeah. So how did you launch this game? You spent nine months making it, you had an email list, you had pre-orders. Were you posting on Product Hunt or pinging your friends on Twitter to tweet about it? How do you get that first group of users in the door?
You know, by the time I launched that paid game, I had 12,000 people on my email list. I was sending, every couple of weeks, I was sending an email showing behind the scenes, look at this cool concept art for this cute little critter.
I was kind of building the hype while sharing stuff I was just excited about so that when I launched it, people were like, yes, it's finally here. A little bit like a Kickstarter. You can start something. If it's something you care about, you're excited to see all the updates. I was giving the updates, kind of the reverse order, I was giving the updates and then I opened up the pre-order and then I launched.
I didn't know what I was doing. It was just an experiment. If it didn't work out, I was going to go back to working at a job. I was really hopeful that it would work out and people would say to me like, it's no big deal. If it, if it fails, you can just get a job. To them that sounds fine. But to me, that sounded awful.
I'm just like curious how people were finding this besides just word of mouth. If I searched for something like a learn CSS Grid, Grid Critters, isn't on page one, but it's on page two. It's not that far from the top, pretty close to getting there where if anyone searches learn CSS Grid they're going to find your game. There's no free version of good critters, is there?
No. I have, in the past, made the first chapter free so people could get a taste and I'm probably going to do that again. Cause I think that was, people they play the first little bit. They get the introduction to the story and people love stories.
Before branding needs was Mastery Games, I called them story courses. I think the story gets you hooked like, oh, what's going to happen. These little critters are on a dying planet. They need me to go and save them. I'm going to do that again, I think.
I love that idea. Also you were mentioning, CSS Tricks has all these resources where you can just basically get a little table that tells you, hey, here's how to use CSS Creator, here's how to use Flexbox whenever you forget something.
You're so good at making these visuals and these interactions, you could probably make a much cooler, better resource than anywhere else on the internet and even have these little animations that are happening, make resources a little interactive. I bet you that will be super shareable. Anytime anyone has a Grid question, they could link someone to that and that thing could be an upsell for one of your games.
I'm just like, my marketing brain is just like, what could you do to give people a little taste of how amazing your game is? Cause right now there's no way for them to get into it.
I know. I need to do more things like that. Like I said, I, I tend to just go into build mode instead of marketing mode. I didn't really need to optimize SEO. I'm pretty sure I could get Grid Critters to the first page at least if I had tried, but yeah, marketing, you can't neglect it.
Unless you've got a super shareable game that everybody wants to share without you doing anything.
Even then, sales, like I said, are up and down. The only correlation or only pattern I've noticed is when I send an email to my audience, then I make more sales. It's almost a one-to-one relationship.
What kind of emails are you sending to people? When do you send an email to your 70,000 subscribers?
Usually I send it when I write a blog post. So I'll write a blog post and I'll send an email saying, hey, here's a new blog post. I just launched one called “How to Practice CSS,” which shares a story about how my dad taught me how to learn oil painting by practicing great work from the masters.
In my twenties, I applied that to learning CSS. I'd go on to great websites that I thought were beautiful and I'd try to build them myself with CSS. I'd go into more detail into that, but I'll send a blog post and then what I like to call just cool finds, just random stuff that I have found throughout the last couple of weeks. Most of it's usually tech, but sometimes I'll put a board game or a video game, a soda that I really like, it’s just kind of like, whatever, here's something that I like, you might like it, too.
I mean, you're basically marketing. This is marketing, you writing the blog post and then sending it out to your newsletter. It sounds like you're already doing a lot of it.
I’ve just got to do it steady.
Exactly. And it's such a good point about how to learn CSS and master CSS by basically doing the same thing an artist does: find something good and copy it.
I talked to Sam Parr, who runs The Hustle and The Hustle Trends and also a podcast called My First Million. He's got this really quirky strategy for learning how to write. He literally, I think “The Catcher in the Rye,” he read the whole book and then he copied it by hand, wrote every single word of the book in a notebook. It's like, oh, I want to learn how to write, so I just copied that. He's done that with a bunch of stuff, and he's a super good writer. He writes good stuff and he swears by that.
Or I'm learning how to code and design stuff. I did the exact same thing you did. I would go online when I was much younger, I would see a website, be like, that website's amazing. Then I would try as hard as I can to just make the exact same website. I did that probably a hundred times. Now it's like CSS is a second nature to me and I have much better design sense, but I got that from just literally copying all the things that I thought were great.
And you're going to get really good at what I call in that article, broad strokes. Painters, they don't start with fine details. They start with the super broad strokes. The artist Delacroix has this famous study of lions where he'll draw the broad shape of the lion in just a few quick broad strokes. Then he goes in later and it fills in the details.
You can do that same thing with CSS. The broad strokes is the overall layout, the overall composition, which you're going to get with Grid mostly, and then also Flexbox. That's why I picked those two things in my games, so you can master those broad strokes, so you can lay out the overall composition really fast and then focus on little details without having to pause and go look things up.
That's such a great analogy. I'm looking at your blog post right now, and there's the sketch of the lion at the top. And it's just, it's basically six or seven ovals and circles and it looks just like a lion. It's better than any lion I could ever draw and it's these basic, basic broad, broad strokes. Super cool.
Well, listen Dave, I could probably talk to you about this stuff forever. So much stuff in my notes I want to talk about; how you come up with an idea for a game and these analogies from fun games to cool programming concepts.
Maybe at some point I'll have to have you back on and you can hop into all these other topics, but to sort of wrap things up here, you've been doing this for years now. You've had a long career as an indie hacker. You're fulltime. You're on your own. What do you think is something people should take away from your journey if they're just now getting started as an indie hackers?
Watch Disney movies.
No, I think that's my biggest thing is just try something. Just start, don't wait around for the perfect plan. Find a plan and you're not going to find out if it's good until you try it, so try it but don't be married to it. Try to find something, pick something you're already kind of passionate about like I was with video games, try to find a way to make money from it.
What about somebody who has gotten to the point where you were when you quit your job, where you're like, you know what, I am going to try this thing. But then like you said, there's all these challenges, things you might expect and things you might not expect. There's hard times where you're like, I should just quit. This is ridiculous.
A side project is a great, almost risk-free way of trying something out and seeing if you get some traction. But don't build the whole thing and then try to launch it to crickets.
Start with the audience, start sharing what you're working on. Start building up your email list and then you're going to meet in a great spot. If you do want to quit your job, you're going to have people that already dig what you're working on. When you launch it, you're probably going to make a few bucks and you'll be in a way better spot.
Love it. So basically, number one lesson is to try and if you're having trouble trying start small with a side project where you can really just start with your audience and dip your toe in the water, and you're not risking your job and your livelihood just to try something out.
Yeah, totally. Oh, real quick. Speaking of the coupon feature. Before we talked, I made a coupon that your listeners can use for your Grid Critters if they want to check it out. So it's just indiehackers, one word and that knocks, the game's already on sale $99 and that knocks 30% off of that.
Nice. All right. Use indie code, indiehackers on gridcritters.com. Get a significant percentage off. If there are any 10 year olds out there, don't hack it. Don't try to get it for free. Cool. I appreciate it. I'm sure it listeners will, too. Thanks so much for coming on the show, Dave.
So good talking to you.
you as well, where can people go to find out sort of everything that you're working on cause you've got numerous games and blog posts and stuff that you're writing.
Yeah. I recently rolled it all into one single URL. It's mastery.games. My blogs there, all my games are there, and newsletter signup. All of it.
All right. Mastery.games. Dave, thanks again for coming on the show.
Okay. Thanks. Talk to you later.
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.