In episode 608, Rob Walling chats with Adrian Rosebrock, who bootstrapped and successfully exited his seven-figure info product company, PyImageSearch, in 2021. PyImageSearch provided digital courses around visual image detection and image classification in Python.
Adrian wasn’t always an entrepreneur. He graduated with a PhD in computer science, got a day job, realized early on that he hated it, and just stair-stepped his way up to running a successful business. In this episode, we cover a lot including Adrian’s decision to start blogging and launch a Kickstarter campaign in the early days to learning how to hire employees and making the decision to sell the business in 2021.
Microsoft for Startups Founder Hub
Microsoft for Startups is on a mission to help all founders innovate and grow no matter their background, location, or progress. Microsoft for Startups Founders Hub is a platform that provides founders with free resources to help solve startup challenges, including access to Azure credits, development tools like Github, mentorship resources, Microsoft collaboration and productivity software like Teams and Outlook and more. The program is open to all and takes 5 minutes to sign up, with no funding required.
Learn more aka.ms/startupsfortherestofus
Topics we cover:
[2:41] The story of how Adrian first discovered MicroConf
[6:29] Why Adrian didn’t want to go down the traditional path after getting his PhD in computer science
[10:01] When he knew having a traditional day job as an employee wasn’t for him
[11:24] How he used the stair-step approach to launch PyImageSearch
[13:54] What Adrian did when he started to see early traction
[16:45] Did having a PhD in computer science have a big impact in the early days of launching his business?
[18:05] Adrian’s approach to learning how to market
[20:31] How he balanced working a day job and his side business in the early days
[23:39] Adrian’s launch plan for selling his first ebook in 2014
[28:48] The epiphanies that Adrian had in the early days to keep plugging away
[33:33] How he went from making $38,000 in 2014 to $600,000 in 2016 as a company of one
[36:28] The mindset shifts he had to make when he started hiring employees
[39:10] Adrian’s decision to sell the business
[45:03] His reflections after selling the business in 2021
Links from the Show:
- Adrian Rosebrock @InfoProdMastery I Twitter
- Info Product Mastery
- The Stair Step Approach to Bootstrapping
- Ryan Delk: Lifting The Veil: The Data Behind Successful Product Launches I Youtube
- Quiet Light
If you have questions about starting or scaling a software business that you’d like for us to cover, please submit your question for an upcoming episode. We’d love to hear from you.
Rob: Welcome back to Startups for the Rest of Us, episode 608. I have quite a story for you today about Adrian Rosebrock, who bootstrapped and exited a seven-figure info product called PyImageSearch.
No, it’s not about finding pumpkin and apple on, when is it? March 14? Yeah, March 14. It is about visual image detection and image classification in Python. This is really an incredible story of how Adrian graduated with a PhD in computer science with an emphasis on digital image processing and recognition and how he didn’t like his day job.
He started a blog and he just stairstepped his way up. We’ll talk about stair stepping. We’ll talk about how Adrian discovered this podcast back in the 2010, 2011 time frame and how that led him down this path of bootstrapped entrepreneurship.
It’s a pretty incredible story in the sense that he had built this info product up into the lowest seven-figures with essentially—I think his team was three people. It was just minting money into his personal bank account.
Then in 2020, 2021, he had that epiphany that maybe he wasn’t learning new things anymore. I asked him that straight up. A lot of folks listening to this podcast would love to have an app or an info product doing seven figures a year and throwing off, I conjecture 80%, 90% net profit. But he wasn’t learning anything. Like startup founders, we have to know when to say when and when to move on.
With that, I hope you enjoy my conversation with Adrian. Adrian Rosebrock, thanks for joining me on the show. It’s been a long time coming, sir.
Adrian: Thank you, Rob. It’s just an amazing pleasure to be on this podcast.
Rob: Yeah. Correct me if I’m wrong, but I believe we became acquainted, maybe, it would have been 2009 or 2010?
Adrian: Something like that. It’s been over 10 years at this point.
Rob: Yeah. We can talk a little bit about it as we get into the interview. You were one of the very early folks who kind of stumbled upon what I was doing with my blog and then the Micropreneur Academy at the time. It was basically an online course or a series of online courses about how to be a developer and launch products.
These days I focused on SaaS. Back then, there were info product folks in there. There were mobile app developers. There certainly was SAS, I think we were starting to call it then. There was downloadable software, there was all kinds of stuff.
I’m curious how you found that. How did you find me and kind of this bootstrapper in this community?
Adrian: Yes. I wish it was a more interesting answer, but it’s not. I was on the entrepreneur subreddit and somebody posted a Top 10 List of Podcasts and Startups for the Rest of Us was on that. I downloaded a few episodes and it clicked. You feel like you develop a rapport with someone quickly, and then it just really resonates with you. That’s exactly what happened with you and Mike.
When I was just getting started, I’m like, wow, I can relate to these guys. I really understand where they are. I didn’t feel like you guys were bragging or anything about your accomplishments. You get some of these entrepreneur podcasts and people just want to just show off and really highlight themselves and their accomplishments.
With you and Mike, so humble, so relatable, and that really resonated with me. It was just two guys having a conversation and you were learning from it the entire time.
Rob: That’s cool. Especially, kind of the info marketer or the information marketer space in the 1990s was the sales letters they would mail out. Then in the 2000s, they kind of moved online, and it was always the guru. It was always that person who was selling who was the guru.
I was always kind of annoyed by that because I thought, can’t you just be a normal person, be successful, and teach?
It’s cool to hear that resonated with you because that was the point. I’ll admit, if I go back and listen to the first 10 episodes, I’m a little bit guru-ing. A little more than probably I should have because I just didn’t know any other model. But we quickly became ourselves.
We’ll talk later about Info Product Mastery, which is your podcast that launched a couple of weeks ago. Is that something that has impacted your approach to teaching? We’re going to dig in today at PyImageSearch, which is a company built to seven figures in revenue and had a life changing exit last year.
I have to imagine that perhaps your take on teaching was influenced by—whether it’s Startups for the Rest of Us or other folks—who you relate to.
Adrian: Absolutely. I have a PhD in Computer Science. I studied computer vision and machine learning in school. That’s writing software that can understand what’s in an image, such as face recognition.
I studied this in school. You have to understand that just because you have a PhD in computer vision, it doesn’t mean you understand the entirety of computer vision. You likely only understand a certain very small facet.
But by teaching it, you’re getting all these questions and you honestly may not know the answer to. Now, the difference between someone who’s a PhD is that they can likely read a paper or two and get up to speed very quickly.
That’s the situation I was in. But I certainly had to be humble with myself, lower my ego, and say at times, I don’t know the answer to that question, but I’m going to add it to my queue of blog posts and I’ll see if I can cover it in the future.
It became a tremendous learning experience for me. In school, I learned the theoretical, I learned the mathematics, I was writing papers, I was reading papers, but I wasn’t necessarily learning a lot of practical implementation side of stuff.
As I was running the blog, I was able to actually write the code to figure it out, then hand it off to people, and be like, this is the code that you can use to solve this specific problem. Here is a line by line explanation of what that code is doing, and you can integrate it into your own projects.
That taught me just as much as it taught the people who are reading the blog. It made me that much better. That wouldn’t have been possible if I didn’t lower my ego to really accept that there are a lot of blind spots that I didn’t know.
Rob: Right. I think a listener who doesn’t have a PhD, maybe like myself, we always joke that I’m usually the least educated person. I went to public school and got a bachelor’s, least educated person in most rooms I’m in.
You got a PhD and I think people might say, well, that’s it. You’re kind of set, right? You have the doctorate and you’re going to go do your thing and make a cajillion dollars. But, what didn’t match up there? Why did that script not play out in your life?
Adrian: It was weird. I’m always drawn to doing really challenging things, whether that’s building a business, getting an education, or getting a PhD. I felt like I was constantly being pulled in two different directions.
Throughout my undergraduate years, I was working in a small business. I work for a company that was acquired. I was there for five years, started as a junior developer and ended up as a senior developer. That exit actually paid for my college education, which was an amazing blessing that I had while in school.
At the same time, I was just drawn to this idea of getting a PhD. To me, it was almost like playing the market. It’s almost like a stop-loss. You put your investment in, but you immediately know what that stop-loss is. You can exit.
That PhD was kind of my stop-loss because I knew it was security, that if anything bad happened in my life, I could always go back and teach. I could go back to a public university or a community college, teach, and still be able to make a living. That was my safety net.
It was also extremely challenging. That kept me on board, going for it, and fighting for it.
To be honest, by the time I was midway through my PhD program, I was well aware that I wasn’t suited for academia. I wasn’t suited for research. The double-blind peer review papers system, it works and it’s also extremely broken at the same time.
I didn’t like that I would write content that could help others, but it would sometimes take years to publish and tons and tons of revisions. It didn’t sit well with me. I knew that I needed to be in an industry where we can iterate faster. We could release products and help others along the way.
Rob: That’s also an issue Sherry had with academia. Most people listening to this know she got a PhD in Psychology and she interned at Yale. Then she was like, “This isn’t what I thought it was going to be and wind up doing a postdoc in the Boston VA.”
Then I was like, “Well, the research stuff, the publishing is just a grind. It’s not as rewarding as I hope.” Like you said, it takes way longer than I wanted to.
Then she became a professor, and even that then had its own thing. She loved the kids. She hated the meetings, the committees, and the politics. Unfortunately, it’s politics. It’s a big, old institution. She eventually comes out and becomes an entrepreneur as well.
I think that spirit lives in a lot of people, only some of us are able or willing to listen to that call. The willingness to take that risk is a big thing, and the ability. Sometimes you’re married, you have four kids. You just can’t. I don’t want to play it out like if you don’t do it, you’re too scared or whatever. But I do think that some of us have the luxury.
I know that I held myself back, psychologically, where I was so unwilling to take on any risks. Realistically, the fallback—like your idea of a stop-loss—my stop-loss was I was a senior developer making low six figures. I could go anywhere and do that. The stop-loss is I could go get a job, which is what I had that day. So, why not go out? Go out and try it.
That’s what you did. You came out of grad school with a PhD. You got a job and you were telling me offline that it was maybe not your favorite day-to-day experience we often talk about on this podcast. What sucked so bad about your day job?
Adrian: I love the guys that I was working with. They were so smart. Two of them are pretty high up in NSA and we got to work with some pretty amazing data sets. At the same time, I just wasn’t feeling happy and I wasn’t feeling fulfilled. That’s because there’s a deep-seated need in me to not only create something, but sell something—to be able to create something of value that people will trade their hard earned dollars for.
There’s just something immensely satisfying to me as a person by doing that. No matter how much money I was making with these guys, which honestly was pretty amazing. I graduated from college with my PhD. I had a base salary of $120,000 a year. Then we had bonuses up to $80,000. On top of that, just a ton of money back in the 2000s. I just graduated in 2011. A young kid who’s like 23-24 years old, you just feel like you’re rolling in money. That felt good.
I bought a bunch of stuff. I fell into the consumerism habit of more, more, and more. At the end of the day, I just wasn’t happy at all. I knew I needed to do something on my own. That’s where I started exploring, developing my own apps, and my own products.
In college, I developed a few mobile apps just for fun to try and get them off the ground. What really held me back was the lack of marketing skills. That’s really what drove me towards starting PyImageSearch.
Rob: Got it. Like you said, you stumbled upon Startups for the Rest of Us. It sounds like The Stair Step Approach resonated with you. Is that right? Talk us through your thinking there and where you started with PyImageSearch.
Adrian: With PyImageSearch, I wanted to go back to square one. I really needed to ground myself in the basics and develop a small little product that you can create, ideally in 30-60 days. Just get it online and just work your butt off at selling it. Just get that marketing down. Learn how to email markets, learn how to advertise, and learn how to communicate with your customers.
Honestly, that’s what I was missing with my two previous ventures back in college. Those were two either scientifically focused or they were going after markets like health care spaces that someone in their 20s without the proper connections is just not going to be able to do.
I needed to get these your consumers or your prosumers—people who were willing to trade a bit of money to get some knowledge that will help them professionally. That was my idea. Just go straight back to basics, learn them really well, and then that’ll serve you throughout your lifetime. It was truly an investment in my entrepreneur spirit and my own journey.
Rob: Got it. You started by starting a blog. You started writing. How did that play out? This is 2013-2014.
You start writing on this topic, which is a nice way to dip your toe in the water or something. If I’m going to write about an A, do I enjoy writing about it? How hard is it for me to do it? Do I get any traction?
If any of these are a no, then it’s like, well, I probably shouldn’t do this. You’re writing about Python. It’s PyImageSearch. I want to explain to people it’s pyimagesearch.com. Py for Python. Python is used so much in the image recognition space.
I got to be honest. I don’t know if we’ve ever talked about it, but my two favorite classes in college were image recognition and digital image processing. Maybe I was an undergrad and I was taking grad level courses. The professor was like, this is going to be really hard. I was like, I’m sure it is, but I loved it.
I actually considered for a while, I was a double electrical engineering, computer engineering major. It was kind of an elective-ish thing. I considered focusing on image recognition because it was so fascinating to me, but I never learned Python.
You dove into blogging about this. Did these things go up on Hacker News, on Reddit, or was it just an SEO play at first? How did you start seeing early traction? How did you get that signal that this is working?
Adrian: In the beginning, when you’re starting a brand new blog, you’re just not going to have that SEO traction. It’s just not really possible. You have to rely a little bit on social media. You have to join discussions like LinkedIn groups, Reddit threads, Hacker News threads, and that’s exactly what I did.
I wrote the first blog post in 2014. The general idea and the theme was to explain these extremely technical, complicated computer vision, artificial intelligence concepts with code rather than theory. I would build these small working projects, and explain them line by line. Then, people could take that code and apply it to their own projects. I knew there was a practical aspect to that.
Reddit was super important and so was Hacker news. Those are two groups that want to see that practical aspect. They want to see the demos. They want to see, hey, does this work for me? What’s the outcome? How can I integrate this into my own project?
In some ways, you’re almost sparking their imagination by showing them both the code and output result.
Rob: That is crazy. I would have thought that in 2014 there would have been plenty of books and resources available. You mentioned O’Reilly when we’ve talked about this, and that’s who I would have gone to in 2014.
I want to learn about what’s called OpenCV with Python. You want to explain to people what OpenCV is?
Adrian: Yeah. OpenCV stands for Open Computer Vision. It’s an open source library for the Python programming language. Also, there’s C++ bindings and Java bindings. It’s the largest computer vision library available online.
Back in 2014, most code samples were in C and C++. There was very little in Python, but Python was quickly gaining traction as the go-to language for not only computer vision, but machine learning, artificial intelligence, and data science. Pretty much all of that nowadays is done in Python, at least in a research and prototyping capacity.
Any books you would find online really utilize C or C++. There were three or four books on O’Reilly’s impact. Back then, there were no Udemy courses on OpenCV.
Man, I’ve seen a few grad students start blogs on how to help other grad students do the more practical experiments of their PhD, like writing the code to process the data sets and get these results back out.
I was thinking to myself, wow, maybe this is where I get involved. This is where I can show my expertise and just get back to the community, but also learn how to market and sell at the same time. I’m going to attack this thing using the Python programming language, where I know there’s a few blogs, there’s not necessarily anything for sale in Python. But, I know Python is the future of data science. It’s the future of machine learning.
Let’s go in on this and I can always pivot back to C or C++ if I need to, but I believe Python is the way to go. It turns out that was definitely the right decision in the long-run.
Rob: Yeah. I mean, you included it in the company name and the domain name—the Py. That would have been a tough pivot later.
Do you think you needed a PhD in computer vision in order to do this? Or, do you think you could have learned it from the books and from an undergrad education or whatever and still be executed by this company?
Adrian: I don’t even think you need a computer science degree or mathematics degree or advanced degree like physics or something that you would traditionally think of a person transitioning into these advanced computer science concepts. That’s just not true anymore. Maybe it was 10-15 years years ago, but now. No, not at all.
You have so many resources on Udemy, on YouTube, and so many blogs. If you just learn the basics of programming, it’s remarkable how fast you can get up to speed in these advanced topics.
Rob: Yeah, that’s been my experience as well. I grew up in the 1980s. I Speak BASIC to my Apple was the first book we had. We would literally read through it and type the basic programming into the Apple IIe. You’ll type that thing—there was no copy paste. You type it in and you’d have the typos. That was the way that I learned it. These days, it’s obviously so much easier.
Not to say that I walked uphill both ways. It was a really good way for me to learn it as a kid. But the advancement of these topics, whether PyImageSearch, O’Reilly, and Udemy, allows us to build so much more complex things, so much more quickly.
You launched the blog. You’re getting some traction on Reddit and Hacker News. Are you learning marketing at this point? Were you starting to collect email addresses or were you just learning copywriting at this point? Like, hey, it’s content marketing.
What was the tool belt? How is the tool belt expanding?
Adrian: First put the site online. Put a few opt-ins up there. Back then, it was using Mailchimp. We had a resource guide PDF. We had a weekly newsletter. Those are the two primary ways people are getting on our email list.
What really, really changed for us is when I realized, man, why am I not putting these code samples behind opt-ins? That was the game changer.
I think people listening to this episode, especially developers, would be like, why wouldn’t you just throw it on GitHub? For me, I was creating a zip file or a tar file of this code, uploading it to my server, and the only way you could get it is if you entered in your email address.
Yeah, it bothered some people, but we were getting a 3-5 increase in our opt-in overnight just by putting that code opt-in. That was fantastic.
I think that’s true regardless of what info product you’re doing. You could be teaching people how to play guitar and you have a guitar tab or some chords that you review for a certain song in a video or a blog post. Put that PDF of that tab behind an opt-in and do it on a per post basis because it’s so hyper specific to that post. That was a true game changer.
Once we started getting these multiple opt-ins and essentially an opt-in for every single post, we have 500 plus tutorials now. We switched over to Drip pretty quickly. That was back in the early days of Drip, actually, before even automations or the rule system were available. We were loving Drip. That helped us out tremendously.
Otherwise, I was working on a product in the background. I was offering a book. For me, at that point, I’m learning how to write email, send that, broadcasting, and getting confident in that when I send an email, I’m not going to get hate mail in response. People aren’t going to mark me as spam.
Initially, you have to build that confidence. It does take time. You can’t shortcut that unless you already have experience sending out email from some other business that you’re involved in.
Rob: Yeah, it’s a learning curve. It’s that terror of the first time you publish a blog post. Is everyone going to tear me down or are they going to rag on me? The first time you send an email and the first time you do a sales call, if that’s your business, I think these are all scary things.
At this point, you have a blog which isn’t making any money. You have an email list which isn’t making any money. I presume you’re still working the day job. What was your daylight? This is the night and weekend story.
A lot of people need to hear that some of us had to grind it out. I know that you did it as a side project. What did that look like as you were building this up?
Adrian: It was a grunt. There is no doubt about that. I want to make that explicitly clear that there is no shortcut. If you want to do it, you have to do the work and you have to be brutally honest with yourself of, are you going to do this or not? It is a true commitment.
For me, I would wake up at 05:00 AM. From 5:00 AM-8:00 AM, I would work on PyImageSearch, working nine-to-five literally for this day job. Then, about 6:00 PM-8:00 PM on PyImageSearch. That was during the weekdays.
On weekends, both Saturday and Sunday, I was working 06:00 AM-01:00 PM on the business. I was working a ton. I was really exhausting myself, really at times pushing burnout, but at that point I could recognize it and pull back on a little bit. That became harder and harder as the years went on and as the business grew.
In the beginning, but it was also exciting. That’s the part that has to keep you going. You need that passion in the beginning. If you’re not passionate about it, or whatever it is you’re doing, whether you’re building a SaaS app or an info product business, honestly, you’re not going to make it. You’re not waking up excited to work on it.
For me, I was working for freedom. I knew I did not like working at this job. I knew that I needed to own my own time. I needed my independence to feel happy and content as a human being. Money aside, yes, I wanted to make money. I wanted to be happy with my money, but I needed to be independent. That’s what I was fighting for and that was my motivation that kept me going through those early days, through that really rough grind.
Our sponsor this week is Microsoft for Startups Founders Hub. Microsoft for Startups is on a mission to help all founders innovate and grow, no matter their background, location, or progress.
To this end, they’ve recently launched Microsoft for Startups Founders Hub, a platform that provides founders with free resources to help solve startup challenges. Members of the platform get a ton of benefits that can help founders build their startup faster from day one.
Up to $150,000 in Azure credits, free development tools like GitHub, free Microsoft collaboration and productivity software like Teams and Outlook, offers from startup friendly partners, and more.
A strong and diverse network is critical to a startup’s success. Microsoft for Startups Founders Hub is making this historically inaccessible resource open to all by providing members access to a mentor network as well as technical advisors. Members can book time with mentors to get expert feedback and advice on their product roadmap, business plan, fundraising approach, marketing plan, and more.
The program is open to everyone, no matter your startup stage. Unlike other programs, there are no funding requirements, and the sign up process takes less than five minutes.
Learn more about Microsoft for Startups Founders Hub at aka.ms/startupsfortherestofus. That’s aka.ms/startupsfortherestofus.
Relatively quickly, you authored your first ebook. It was March 2014, Practical Python and OpenCV. Did you start selling that directly to your list or did you do a Kickstarter first?
Adrian: The very first book was sold directly to my list. I wrote it in about a 10-day period visiting my girlfriend, now wife, at the time. I was at her parents house while she was at work. Literally, for 8 hours a day sitting at their kitchen table, I would write this book, put on my headphones, just consume coffee, and just grind and grind and grind on it.
Around five o’clock, I go in the fridge, get a beer, and start working on the parts that didn’t require so much creative energy. What I call the more procedural task, but you got to slog through.
I had this book and it is done. I’m just thinking in my head, is anyone going to actually buy this? At that point, there’s probably 100-200 people on my email list. I built my first sales page. I went to the Boston Marketplace. It’s ThemeForest. They have their little templates. I picked an info product page, opened up Photoshop, created some graphics, and put a sales page up.
I just slapped a $19 price tag on it. I have no idea if people are going to buy this. You see ebooks on Amazon for $3 or $4 and you also see these technical courses for $500 plus. I have no idea what the price of this thing is, but I put it on there, and I heightened it a little bit. I teased a little bit, and the email listed my own.
It was actually my very first sales campaign. I sent out emails saying, I’m about to release a book. Here’s the table of contents. This is what it’s going to cover and I’m going to release it on this day. I did it and I made two or three sales that very first day.
Honestly, some of my favorite money I’ve ever made in my entire life. It felt so good to be able to send out an email and have money come in.
Rob: Yeah, with a list of 100-200 people. It’s really small. That’s the validation. You talked earlier about having passion for what you’re doing to keep you going. I also think another factor is validation that something’s working.
If you toil for a year on a blog and you build up an email list, but you never sell anything—I guess the email count could be a validation, but it’s weaker validation. Then, the moment that you make $60 in a day or a couple of $100 in a month.
Suddenly it’s like, well, why couldn’t I just add a zero to that if I just keep doing this? If the list gets 10 times bigger can I make $600 in a day? Holy crap, $600 that could make our car payments or however it works. Then, you see $600 and you think, I’m not too far off $10,000 a month or whatever that goal is to quit the day job.
Adrian: That’s exactly what happened. I had this $19 product. I thought, okay, what’s the next step? Do I create a new product? I was just thinking about that for a couple of days.
I think it was Ryan Delk from Gumroad back then. He was talking about tiered pricing, how well it worked, and his little formula of how to create three tiers, which is your base price, your next price is 2X of the base price, and the third tier is 2.2X of the middle price.
You create these different tiers, like man, how can I create tiers to this book? The first book was called Practical Python and OpenCV. What can I do about this?
I thought back to my early grad school days and I realized one of the hardest parts of getting started with OpenCV was actually installing the library. Back then, it was not an easy command. You just open up a terminal and type in a command. Then it’s done. It took days to track down, compile errors, and install dependencies.
I said, what if I created a virtual machine that has OpenCD pre-installed. They can just download it to their system, import it, and run. Man, that is a good thing. That could be a middle-tier. Now, I have this original book. I have the book plus the virtual machine.
Then for the third tier, I did some research and found CreateSpace, which was an Amazon company that doesn’t technically exist anymore, but they could print books on demand. I know people love physical print editions. Maybe that could be the final tier.
I ended up creating this $47 tier at the base, $94 tier, and then $197 tier that included the physical printed editions. I put that online. As you said, you’re thinking, how can I add a zero to what I’m charging, how much money I’m making? That was a game changer immediately, made more sales, and proved that we were going in the right direction.
Rob: We tend to underprice our work. It’s like I’m giving these blog posts away for free and this book is a collection of these blog posts, $19—that feels. Most books, you go to Amazon, like you said, $3 for an ebook, $25 for printed books. Shouldn’t we be charging in that realm?
You’re mentioning Ryan Delk’s talk, which was called Lifting the Veil: The Data Behind Successful Product Launches he gave at MicroConf in 2014. Folks can go to YouTube and we’ll try to link it up in the show notes as well.
But hearing an outside perspective, similarly to you, hearing Mike and I on the Startups for the Rest of Us, it makes you think, oh, this is possible. I can justify this to myself because someone else is making it work. Me, being an entrepreneur, is possible. Just being a solo entrepreneur sitting at a kitchen table as a bootstrapper is possible.
Then you hear from another person, Ryan Delk, who says at the time he was Head of Growth for Gumroad. He had all this data of how info products were being sold. When he says whatever the formula ends up being, it rattles your frame.
Each of us have these mental cages of, well, certainly I couldn’t charge more than $20 or $30 for a book. Suddenly it’s like, no, I’m going to charge $200. I’m going to include a virtual machine and print it on demand.
I mean, really? The print on demand. The book is $5 to print, probably $3. It’s not actually that much more expensive.
Having these—sometimes I call them virtual mentors who don’t even know me and other times it’s just influences of seeing a talk or hearing a podcast that clicks something in me that changes the trajectory of my business or of my career. It sounds like you’ve had a few of those along the way.
Adrian: Oh, yeah, absolutely. Practical Python and OpenCV was the first one. Then the second one happened towards the end of 2014. Basically my original job, my nine-to-five job, I was working at a startup, but our contract with the state of Maryland to overhaul this old mainframe system was costing taxpayers hundreds of months.
Well, there was an election, the governor switched, and the next day we got a call that said, hey, you’re out of a job. The new governor doesn’t want to continue this project. I was in an interesting position because at that point, PyImageSearch had been around for 7-8 months, probably making $6000 a month from Practical Python and OpenCV, which was honestly amazing to see it grow that quickly.
But it wasn’t replacing my full time income that I had with my nine-to-five job. It was doubly complicated because I had just moved from Maryland, Connecticut, moved in with my longtime girlfriend again, who became my wife. I wanted to take the risk to continue PyImageSearch. It felt like the right move to make, but I also felt like it could really damage the relationship if it didn’t go well. It could hurt her trust in me to be a good boyfriend, to eventually be a good husband, and to be a good provider.
That was one of the most scary decisions that I had to make. But I said, you know what? I’m young, I’m 24-25 years old. Let’s just do this. So, I decided to create this Kickstarter campaign. It was the first crowdfunding campaign that I ever created, and I called it the PyImageSearch Gurus Course, which was honestly a horrific name for a course, but I was still learning back then.
I planned it all out. I planned out the launch sequence—how I was going to spread it, how I was going to get the word out, sent out a bunch of emails to my list to get people hyped and excited about it. I purposely set my funding level low. It was probably only $3000 or $4000.
The idea there was that when you run a crowdfunding campaign, you want to get that thing funded within minutes of getting it online, from your original list, from your audience, whether that’s social media or your email list. Get that funded, because that is social proof. Anyone else who stumbles along that page who is remotely interested, they’re going to see this project that’s funded by 2000%.
Now you want to talk about social proof, that’s exactly what that was. Put that Kickstarter campaign online. Within the first day, it raised $6,000, it well exceeded the initial goal. I went on to raise $34,000 by the time the 30 day period ended.
That was absolutely incredible. I felt like I had really reached some validation of, yes, this is where you need to be going. You need to focus on this business because it has legs and it could really grow.
Rob: $34,000 for what essentially has zero COGS or maybe some printing of some books. A lot of Kickstarters, you’ll hear people say, don’t do Kickstarter to make money, just do it to build an audience.
If you do a 3D printer, the cost to design, build it, ship it, to manufacture, and all that. I had a friend who did like a half a million dollar Kickstarter for a piece of hardware and he’s like, yeah, in the end we made almost no money. We made less than minimum wage, but it built an audience, it built a brand, and now they had a bunch of [inaudible 00:32:51]. They did overproduce so that they had these pieces to move versus PyImageSearch Gurus, the cost of goods sold are almost zero. It was your time.
Adrian: Yeah, it was my time to create it. That was just an online course behind a WordPress login. There wasn’t even any print cost associated with it. The feeling of raising $34,000 for something that just flat out doesn’t exist yet, that feels good because you know people are putting trust in you, and then you built an audience that you’re resonating with them.
That feeling again, that’s that motivation that gets you out of bed, that allows you to keep grinding on the business.
Rob: Right, it reignites. You talked about starting with this passion to do it. Then, I talked about having this reinforcement that it’s working. The reinforcement comes back and it can reignite that passion because otherwise you burn out. Right. You go six months with no reinforcement, it’s like, well, is this even going to work? Whether it’s you in your own head, whether it’s your spouse or future spouse, significant others as you were experiencing, I think we need that along the way.
That was 2014, and you made $38,000 that year. In 2015, you made almost $250,000. In 2016, still just you, solo, which, Adrian, if I had known this, I would have been busting your chops so hard to hire somebody. You made $600,000 in 2016 and you still were working on this thing solo. Why did you not hire someone?
Email support. Just email support. This is what I tell founders. Just hire that way earlier than you think you need. Dude, you’re making more than half a million dollars and you’re just cranking away answering emails as people have questions.
Adrian: Yeah. Honestly, it really comes down to ignorance. It was the first business that I had run at that scale. I was truly afraid to hire someone initially. I thought by myself being in the inbox and responding to people, they felt like they were getting access to the owner, access to the expert, and that would increase sales just by virtue of having my name and the signature.
That turned out to be a very poor assumption on my part. It was totally incorrect. Back then, that’s how I felt.
I was doing way too much by myself. I was typesetting a blog post in WordPress. I was creating all the content. I was writing all the email campaigns, doing all the email support. If someone had an issue accessing their downloads, I was the one who had to go in, create that link, and send it to them.
Those early years, I ran completely wrong simply because I was ignorant, because I had never, ever been in that situation before. Honestly, I wish I had someone who just would hit me over the head and be like, just get on Upwork, hire someone, and try them for a week. If it doesn’t work out, revert to what you were doing. It’s probably going to work out and you’re going to feel a lot better. I wish I had someone like that.
I’m saying now, if you’re making over $600,000 a year in your business, and you’re the only one working and doing everything, probably time to hire. You should have been hired a long time ago.
Rob: By the time you hit $20,000 a month and as long as you’re not straight-stagnant, you’re growing at all, there are some low hanging fruit and email support is usually the one.
I know exactly what you’re saying because I used to do all of it on my own. People would have trouble accessing my book when I was selling it as packages. It’s like, well, they heard from Rob Walling. This is great, right? But it’s like, yeah, maybe a little bit. It’s like, oh, cool, Rob Walling responded, except for I’m chewing through time. It’s not worth it. It’s not worth the time and the potential burnout for me to be doing these day-to-day tasks.
In 2017, over the next three years, you call this kind of your small businesses or your big growth phase. You started hiring more. You grew the revenue to seven figures and your email list into the hundreds of thousands, which was just more of the same.
It was more blocking and tackling. You finally started delegating some of your content, which I remember when you did that because I was sitting watching Relentless Execution. I was watching you do this for years and years and just grinding. I’m like, this guy puts out so much written content, it’s crazy.
The first time you told me that you had hired someone to write content for you, I was thinking to myself, I wonder how he’s doing with that. It’s every word that had been written, whether it was an email, whether it was a support email, whether it was a sales copy, whether it was the actual blog content, or whether it was books—every word had been written by you for years and years.
What was that transition like for you to hire someone and suddenly have their voice, their words coming out of your mouth, in essence, or of your company’s mouth?
Adrian: It was scary as hell. Founders talk all the time about how scary it is adjusting their prices—increasing prices, going up market. They don’t want to alienate current customers. They don’t want to kill off their growth. That’s how I was feeling, but orders of magnitude higher.
As you said, every word, every piece of content was created by me. I knew at that point, I was so stressed. I was so anxious. I was working way too hard. It was time to start handing over the reins, so I hired Dave. He was a customer I had developed a really good relationship with, and he helped me with content creation.
Originally, he was effectively a ghostwriter for me on the blog post. I would write the intro to the post, the conclusion. I would fill in any challenging technical content. Maybe it’s a really tricky piece of code that needs me to explain it, or there was some theoretical component that I had to describe. He would go in and fill in the rest. He did a fantastic job.
I remember when we started publishing posts with him ghostwriting, no one knew at all. I paid really close attention to the emails, to the blog post comments—no one knew at all. That’s when I started to release the brains a little bit and we wrote a book Raspberry Pi for Computer Vision. He effectively wrote all of that book and he rightly got credit for it. He was listed as the first author on it.
He was the first really important hire to the business outside of our email support person. He went on to help with project management, with email support, and with troubleshooting. He was really a Jack of all trades and really helped during those mid-growth years.
Rob: The mid-growth turned into 2020 and 2021 where you’re still doing seven figures. You have this amazing business with what? 3-4 employees?
Adrian: Yeah, about five employees.
Rob: That is so incredibly profitable—throwing off loads of cash—and you decided to sell it. What was that decision like? As someone who has gone through this decision before, someone on the outside might say you work for all these years and you build up this thing that you had been building for, at this point, 6-7 years.
I’m just going to say, you don’t have to deny or confirm, but it’s throwing off $1 million a year or more into your personal bank account. Why would you consider selling that?
Adrian: Yeah. I’ll also point out that each year I ran the business, we increased revenue every single year. When you’re looking at a chart of growth, you’re not thinking about running it over the top yet because you haven’t had a decline here.
But 2020 came around. Of course, we had COVID and we couldn’t go anywhere. My wife found this little cabin out in Western Pennsylvania. We went out there and I spent a tremendous amount of time journaling. Just really considering what I wanted over the next few years.
I kept talking about selling the business. The reason I did that was while I enjoyed running the business, I wasn’t creating anything new. I had fired myself from a lot of duties in the business at that point.
At that point, I was really just refining my craft. I wasn’t creating something new and novel. Believe it or not, writing email campaigns and making seven figures off of those campaigns, it actually does get boring after a while.
If you have a growth mindset, you eventually get almost numb to it, which is sad, but it’s also affirmative of the fact that you need to keep growing. You need to keep doing what you’re doing and doubling down on what interests you.
Sometimes what interests you is something totally different than what you’ve been doing for 70 years of your life.
Early 2021 came around, I realized I was serious about selling. It was time to take my chips off the table. I didn’t want to worry about running over the top.
I talk to you and talk to Sherry about different brokers that came across quietly. I just want to give a huge shout out to Walker [Doyle 00:41:07]. Just an amazing, amazing broker really helped tremendously with that sale of the business at that point. The rest is history.
We had three very serious offers within five days of listing it. Seven months later, the business was sold. First buyer didn’t work out, but the second one worked out fantastic. They’re taking tremendous care of the business. I’m so happy for them and so proud of what they’re doing.
Rob: Yeah, that’s good to feel that way. Seven months to sell? That makes the hair stand up on the back of my neck. Just saying it out loud. How was that mentally for you to make the decision?
What I found is a lot of entrepreneurs, once we decide something, we want that to happen now. There’s a reason that we don’t work in academia anymore. When we decide to publish a paper, 18 months later it’s published and that’s too long for us.
When I decide I want to sell a business, I want it to close tomorrow. When I hear 210 days, that’s freaking painful. What was that like for you as someone, who I would describe, gets stuff done really quickly because they can and you execute on things? This timeline was out of your control.
Adrian: Oh, it was brutal. My Type A personality kicked into high gear, and I decided to sell. I got everything to quiet within a matter of days. Literally next week, everything was listed.
I made it my priority. I hopped on calls. When Walker told me to hop on calls, I got potential buyer’s information when they wanted it. Super quick turnaround. I was really excited about the first buyer. We got 3-4 months, I realized there’s just a lot of red flags and the deal fell apart.
It was challenging for me at that point. I kept the sale of the business pretty close to just myself, my wife, and my dad. I talk to them about it, talk to them about the stress of it. After the first deal fell through, I shut down completely.
I told my wife, don’t ask me questions about it. If I volunteer information, feel free to engage, but don’t talk to me about it. I was losing sleep. I was super stressed out and anxious. Honestly, it was just playing out worst case scenarios in my head.
If you’re a business owner, it’s just going to happen. You’re going to think about the worst case scenarios. It’s going to bother you, it’s going to be upsetting.
One of the best things that I did, and this is something I would never do under normal working conditions or something like that for productivity reasons, I just found a mindless game to play on my iPhone for an hour or two a day while the business was running. I was done getting information to the broker, to potential buyers. I played this stupid little baseball game on my iPhone for a couple of hours just to give myself a break to let the brain shut down and occupy my time.
That honestly, probably, just saved me from having a huge breakdown during the sale of the business.
Rob: Yeah, that’s underrated. I know that myself and a lot of entrepreneurs get a little too hung up on constant self-improvement. Whether it’s physically or whether it’s listening to the newest audiobook of The Theory of this Future Thing. That’s nonfiction, for sure. I’m listening to these podcasts about how to improve my business.
I do that and I get it. But, there are times where your life is so tumultuous, whether it’s your personal or your professional life. In this case, it was professional where I think you have to give yourself space and you have to give your mind some space to chill out. Doing that with a video game, I do it with Tabletop Dungeons & Dragons. I do it with a podcast about the advent of role playing.
It’s stupid that no one else will get and no one else will care about, but I can put it on and I can feel for this 30 minutes I’m not thinking about business. I don’t know how else to numb myself out to that other than like drinking alcohol. One day is fine, but that can lead down a pretty tough path.
You eventually closed and you sold this business after seven months. It was late 2021. What was that feeling like? I think a lot of founders find it bittersweet. The sweet part is, holy crap, I have millions of more dollars in my bank account today. The bitterness is I’ve been working on something for a long time and I have to let it go.
There’s varying degrees of those two things in different founders. What was your perspective on it a day later or maybe a week later? A month later? How did that evolve?
Adrian: This is the brutal, honest truth. For me, it was anticlimactic. I sold the business, the money got transferred to my account. I had a really quick handoff period. It was only three months that was required to be around to help transition the business.
The day the business sold and the money landed in my account, my wife and I went out to dinner at a nice restaurant. I remember feeling so tired and so exhausted. I enjoyed the food, I had a few drinks, and there was this really nice cigar lounge down the street that we like going to. Obviously, you just sold the business. It’s the perfect time to go have a nice Scotch and smoke a cigar.
But I looked at her and it’s only 08:00 PM. I said genuinely, I’m so tired, I can’t keep my eyes open. I just want to go back to the house, lay on the couch, watch some stupid reality TV show, and just go to sleep. That’s all I want right now.
To me, it was a confirmation of how I had been feeling over the past few months, that this was one of the hardest things that I had been doing. At the same time, I have been pushing myself so hard physically. I’m a super hard, hardcore fitness nut. I love pushing myself in the gym just as much as I love pushing myself in business.
In 2020 and 2021, I was working out 11 times per week. A part of that was due to my fitness goals, but also because that was my stress outlet for the really severe hard stuff during the acquisition. Just going into the gym, throwing around some weights.
The problem is, by the time that business sold and I got that relief of knowing that, okay, this is done. Then everything that I had suppressed just started coming out and I started to shut down a little bit.
I had trouble recovering from my workouts. I felt tired, I felt bloated. I have never had any problems with gluten in my life, but literally developed a gluten intolerance for about three or four months due to the stress of selling that business. It was one of the hardest points of my life.
If you sell your business, be realistic. Understand it’s going to be stressful and that you may not get that huge celebration at the end of it, when that money hits your account.
For me, it took me six months later to get to that point. My wife and I went to Italy a few weeks ago. While we’re there, it finally hit me and I could finally feel all of it. I could look at the accomplishment of selling the business, of building that business, and of all that I put into it. I can separate it from all the grind of the pain and long hours put into it. I can see them both together and be proud of that.
That takes a while to get to it, especially if you have a hard acquisition process.
Rob: Yeah. That’s well said, man. That’s a good note to leave it on.
This is basically a summary—a compression of your story. There’s obviously a lot more to it. If folks want to hear more about your story, also hear more about your theory of info products, and building that freedom the way you did, you launched a podcast a couple of weeks ago. It’s called Info Product Mastery. Obviously, available in all the podcatchers people could find.
It’s infoproductmastery.com, if folks want to get on your email list and get some exclusive updates that you’re not going to release publicly and all that stuff. Thank you so much.
Adrian: Absolutely. The goal of the podcast is I just want to help developers, educators, and entrepreneurs launch and grow their online education businesses. As developers, we have such niche-specific knowledge that if you’ve been in the field for five years or more, you probably have enough expertise to write a book, to create a course, to start a blog.
I wanted to instill all the lessons that I’ve learned from PyImageSearch and help you educate others, build a following, create your first ebook or course, learn how to market, sell it, and build a successful business.
We dropped three episodes already. We’re doing weekly episodes. If you’re interested, go to infoproductmastery.com, enter your email address, and you’ll be notified when new episodes go live.
Rob: Circling back to the early part of this conversation, I talked about how in the early days, this very podcast, Startups for the Rest of Us didn’t focus on SaaS. We had SaaS, we had info products, we had mobile apps, and a bunch of other stuff.
Over the years, SaaS became my thing and we kind of narrowed to it. We have gotten emails over the years a lot. Andrew Connell has emailed several times and said, “Where’s the info product equivalent of Startups for the Rest of Us?”
I feel like I’ve always said I don’t know because so much of the info product and course creation advice comes from sources that I would not recommend, basically. My hope and my expectation is that info product mastery will be that.
Folks, as you said, if they’re developers, educators, and entrepreneurs thinking about launching their own course, you should check him out. Thank you so much, man. Thanks for coming on the show.
Adrian: Thanks, Rob. It was truly a pleasure and an honor to be on this podcast. You and Mike have helped me so much over the years. I might as well share it. I’m just truly happy to be here.
Rob: It’s great to have you, man.
Relentless execution is how I would describe Adrian, and I hope you enjoyed that story. I hope today brings you a little bit of motivation. Maybe some ideas of how to improve or grow your own business. That’s the purpose of this podcast. Whether you’ve been listening for six or 600 episodes, it’s a pleasure to have you here every week. I appreciate you coming back.
Signing off from episode 608. I’ll be back in your ears again next Tuesday morning.