On Starting A Software Company That Makes Mac Apps
I’m Bryan and I own a software company that makes Mac apps. My claims to fame are CodeKit and Muzzle. Muzzle went to #2 on ProductHunt for the year, so of course, the rest of this article will be about CodeKit.
CodeKit makes building websites easier for professional web developers by automating a lot of tasks. It’ll compile files, auto-refresh browsers as you work, optimize images, etc. The app is 10 years old and has built websites from BarackObama.com to Fleshlight.com. (Seriously.)
When I’m not writing software, I fly airplanes upside down.
Now, before we get any further into this, “I’M AN ENTREPRENEUR AND YOU CAN TOO!” article, I want to make it clear that I had a damn good bit of luck and timing on my side. I worked hard, but I happened to build the right app at the right time. To really succeed, you’ll have to find that right-thing-right-time sweet spot as well. The more problems you try to solve, the more likely you are to find them.
With that said, let’s get on with the pontificating.
What's your backstory and how did you come up with the idea?
I didn’t “come up” with the idea; I was beaten in the face repeatedly with the idea until I finally recognized that it WAS an idea.
See, back in 2008 I was working as a freelance web developer and I built a little Mac app to automatically compile Less files into CSS when I saved them. (Before that, you had to compile them manually at the command line, like a godforsaken heathen.)
I put that app online for free, made a funny website for it, and it blew up. Millions of developers used it. One guy even tipped me $5 via PayPal, which means it was more profitable than Uber and Lyft combined.
Here’s what it looked like:
Over the next few years, hundreds of people asked if I would build an app like this for other languages: Sass, CoffeeScript, French, etc. I didn’t use any of those, so I politely declined until, one day, it finally dawned on me that people were literally trying to give me money.
If you get hit in the face enough, you begin to learn. So I fired up Xcode and started a new app: “Less+”
Shuttup. It’s still a better name than TikTok.
Take us through the process of designing, prototyping, and manufacturing your first product.
This is the part where I’m supposed to say that I A/B tested things and gathered fancy analytics that I fed into a machine-learning algorithm to predict exactly which shade of taupe produced the most conversions.
I did none of that. And don’t use taupe.
I simply built the best app that I could to solve the problem. Solving your own problem is a huge luxury; you don’t have to ask anyone else’s opinion or try to understand a market that’s foreign to you. You’re already a subject matter expert and the product or service you create will be better for it.
For that reason, if you’re just starting in entrepreneurship, I recommend playing in the sandboxes that you know. Don’t meet a guy in a bar one night who’s got seven engineering degrees you can’t pronounce and suddenly find yourself trying to manufacture a new carbon fiber rocket nozzle for SpaceX.
Picking the right problem—one where you don’t need to lean hard on others to understand it, let alone solve it—makes it easier to succeed. It also makes it easier to stay lean. Get a PayPal or two under your belt before you try to colonize Mars.
To atone for past sins, I’ve included some early screenshots of CodeKit prototypes here. I basically took all of Apple’s worst UI decisions and put them in one app. Glossy icon highlights on textured linen.
Things did get better. I hired a designer for CodeKit 2:
Describe the process of launching the business.
I launched a public beta for CodeKit in November 2011, during my second year of graduate school for a finance MBA. I worked on the app late at night, on weekends, and over the summer when I was SUPPOSED to get a fancy internship at—oh, I dunno, what sounds impressive?—let’s say, Goldman Sachs.
Find a problem, solve it, and tell people you solved it. Then do that over and over until you’re launching your car into space for no particular reason.
My career counselor was very stressed about my decision to skip the summer internship. See, I was also the class president of my business school and I was supposed to be setting a good example.
The launch itself was excruciatingly, painstakingly planned down to the very last detail: the calendar got to April of 2012, I was about to graduate, and I had $1,000 left in my bank account. Good ol’ Californian rent was due in a week.
CodeKit wasn’t perfect. But I figured that if I launched the app, it might make a few bucks. Enough money so that I would have to perform only two sexual favors for my landlord. So at 2 AM on a Monday, I took the purchase page live and sent out one single tweet.
CodeKit made $11,000 immediately.
I removed the extra-large bottle of lube from my Amazon shopping cart.
For three months after that, I kept looking for finance jobs because I figured the app would stop printing money at some point. It did not. So I paid off my student loans and decided to become a full-time Mac developer.
Since launch, what has worked to attract and retain customers?
Don’t suck. I’ve given lots of talks about my story and the first thing I always tell people is: whatever you’re making has to be good. That’s table stakes for success. No amount of marketing voodoo will make up for crappy execution, especially in the long term. (Unless you’re charging folks $19.99/week for iPhone Wallpaper apps, I guess. Those guys should be the ones doling out business advice.)
I never spent a dime advertising or marketing CodeKit until 2020. The reason for that is—again by blind, stupid luck—I had done something very smart: I built a loyal pool of customers by releasing my first app (Less.app) for free. Millions of developers used it.
When I released CodeKit, a big chunk of my Less.app users bought the new app simply because they had used the old one. More importantly, they told other people to buy my app. Word-of-mouth beats everything, you can’t buy it, and I had built the perfect storm for it.
You can do the same thing. Whatever you plan to launch, find a way to get involved in the communities (online or offline) where your customers hang out. Build a reputation in those communities. Don’t do it in the sleazy, “I’m just writing this useless blog so I can link to my product, and here are 7 obvious things you already knew” way. Actually, contribute to the community. Develop a reputation for good work and cogent ideas.
How are you doing today and what does the future look like?
CodeKit has outlasted Flash. Eat it, Adobe.
The app turns 10 years old in 2021 and it’s more powerful, faster, and better than ever.
Of course, the landscape has changed dramatically over that decade. Free command-line tools like Grunt and Gulp have come and gone. Webpack—another command-line thing, just with more eye-bleeding—is now the Sauron of the industry. I’ve watched competing apps launch and die. I’ve even got a guy who is the Huawei Matebook Pro to my Apple MacBook Pro.
Today, CodeKit users fall into one of two camps:
- Those new to web developers who just want to get to work without learning complex, command-line tools.
- Experts who are covered in scars from those command-line tools and appreciate a dead-simple, zero-configuration way to build their projects.
Financially, CodeKit is still a great job. The app does not print money at quite the same rate, but it’s a great lifestyle business. New users buy licenses daily and old users renew for more updates. It’s sustainable and fair for everyone.
That’s really hard to achieve. Indie app developers are vanishing and virtually all the software we now use comes from large (or at least medium) companies. In the era of Google Docs, nobody wants to pay for apps anymore.
Again, I beat that trend by blind, stupid luck: the one market niche where folks will still pay for software is “professional tools”. Custom, highly specialized software that helps one industry of professionals do their job more efficiently.
I’ve also been successful because I never got bigger than my britches. I didn’t hire a full-time designer. I didn’t rent the fancy office space in San Francisco. I didn’t buy a Tesla. (I should have bought Tesla stock, though.) I’ve worked with designers and other developers, but all on a 1099-basis. That’s kept me lean, focused, and efficient.
I think a lot of startups fail because the founders get too wrapped up in “startup culture.” A startup has to look a certain way and be in a certain spot and project a certain image, etc. Give those folks a giant check and you might as well set your money on fire. (You can probably nab a pretty sweet ball-chair at the office liquidation sale, though.)
As for the future: I’ll keep improving CodeKit as long as folks keep using it. I’m also working on a couple of other apps that will release later this year...although at this point I can afford rent so I might keep working on them until they’re perfect.
What platform/tools do you use for your business?
The primary tool I use is Apple’s bug reporting website. Mostly to explain why Xcode crashed this time.
Other than that, I use:
Linode — website hosting
Cloudflare — website not-go-down-ing
Postmark — sending emails to customers
Fork — my git app of choice since Tower went full-moron
Nova — my IDE of choice when working on websites
Sketch — design
Pixelmator Pro — I’ve replaced Photoshop with it
Things 3 — organizing to-dos for my apps
GitHub Issues — tracking users’ feature requests
What have been the most influential books, podcasts, or other resources?
Startup-wise, you can’t go wrong with Naval. He uses a lot of jargon and often focuses on VC-money-Destructo-Matic startups rather than smaller lifestyle businesses, but much of his advice can be adapted to the latter.
Podcast-wise, I also enjoy:
The Jordan B. Peterson Podcast
And if you just can’t get enough of my bad jokes and terrible advice, there’s more each week at the podcast I host: Unmuzzled.fm
Book-wise, you want:
Influence: The Psychology of Persuasion
Advice for other entrepreneurs who want to get started or are just starting?
The big mistake I see many startups make is trying to look like a Fortune 500 company. Their website is some variation of Apple’s website. Their logo is every logo you’ve ever seen. They write boring, stupid copy like: “Leveraging breakthrough AI algorithms to produce market-driven solutions for today’s complex world.”
Thanks, Copernicus. Really breaking new ground there.
You are small. BE SMALL. It’s an advantage. You can have personality and take risks that Apple’s marketing department can only dream of. Let your customers see that you’re a one-person shop, or that you’re a tiny team. Let YOU come through in your company’s image. Huge firms have all the personality of a linoleum floor precisely because they are huge—they’ve atrophied; they’re full of fat middle-managers who are more concerned with steady paychecks than changing the world. Don’t try to emulate that.
If your customers worry that you’re too small, ask them how long they spent on hold the last time they had to call Spectrum or Cox. (Tip: don’t do this if they had to hold to talk to you.)
Finally, I like to end with this:
(When I give this talk in person, I’m usually standing on a table yelling by this point, so just use your imagination.)
You CAN do this. You don’t need a wheels-on-a-suitcase idea. The vast majority of millionaires in our society aren’t inventors of iPhones or founders of social media platforms. They aren’t hedging fund savants or brilliant doctors.
They’re landscapers and janitors and plumbers. A laid-off guy buys a $50 lawnmower on Craigslist, throws it in his truck, and starts cutting grass. And six months later he gets too busy so he brings on another guy with a truck. And a year after that he’s got five guys. And then 10. And then 15. And suddenly the city of St. Louis calls him up and asks if he can mow the grass along the city’s freeways. And just like that, an average guy with no fancy degrees is running a multimillion-dollar business.
The dots only connect looking backward. But if you’re sitting there thinking you can’t start until you have some great idea or you convince a bunch of idiot VCs to believe in you, you’re wasting time that you could be working. Find a problem, solve it, and tell people you solved it. Then do that over and over until you’re launching your car into space for no particular reason.
Where can we go to learn more?
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.