I used to smoke a lot of pot.
About ten years ago, on any given day, at least a few hours a day were spent in some sort of fog—laughing with friends, eating munchies (much to my detriment), and generally wasting time.
One of the more organized rituals that inevitably led to a coughing fit was sitting in my best friend's driveway late at night. In his parents retired, dimly-lit Ford Windstar, my best friend and I would put on a record and hot box his van far past midnight.
"There are too many ways a man can go...one leads to money and the other leads to soul."
- Jim Morrison
One night, without explanation, The Doors: Backstage and Dangerous was put on, prefaced only by a coy smirk.
That little snippet of rambling by Jim Morrison has always stuck with me...one leads to money and the other leads to soul.
Whenever I've found myself on the edge of some major life decision involving money vs. doing what I wanted to do over the past decade, that lyric zips through my thoughts. "Money beats soul, every time." Debating with that beat as a sort of devil-on-the-shoulder, I've always nodded along and thought "don't do it for the money."
The Alternative Path
Admittedly, that sounds like pandering. I like money. Everybody likes money, no matter how holier-than-thou they might get on their Twitter account.
But it's true. That one line has impacted a surprising number of "go this way, or go that way" type of decisions in my adult life. Instead of cashing in, I decided to take the chance. Go with my gut. Give it a try.
Are there days where I regret that? Well, yeah, duh.
But fortunately, for the most part, I've managed to go unscathed. Looking back, each of those decisions—and don't be fooled, some were more difficult than others—has led to an opportunity. Each time I learned something. Each time I got better. Each time I saw the mistake that led to the unsatisfactory result and corrected it to achieve the inverse.
Throughout all of that, there's been one thread that really stuck with me: I've always wanted to build software.
Even back in my Ozium days, I was busy building websites and one-off user interfaces with my newbie front-end skills. Picking up clients here and there, I'd put together websites for dentists, upstart entrepreneurs, or a business card site for myself.
The one thing I didn't know how to do, though, was make those interfaces actually work.
Back in 2010, desperate to bring an idea to life that I'd come up with while completing my final internship at a local television station (interestingly, an all-in-one tool for managing news broadcasts), I set out to find a developer to team up with.
Posting on an earlier version of the designer-meet-developer site Build it With Me, I got lucky and got a response from a high school student in Arizona. Within a few days of back and forth over email, we set up a Campfire chat and got to work.
Surprisingly enough, we kept up work on the idea for over a year. Eventually, my partner got busy with his first year at college, I got distracted by freelance work, and the idea fizzled.
I wasn't satisfied and was frustrated. I was eager to build something beyond a website. And I realized that I didn't want to have to depend on someone else to make it happen.
Eight years of mistakes and practice later
Within a few months of that project withering away, I remember sitting up late one night, procrastinating on some freelance work, watching a Ruby on Rails tutorial, eager to figure out how to build my own app. When that didn't work, I toiled with another course on Node.js for a few weeks; I was confused beyond belief.
It was all a no go. I struggled to understand how the pieces fit together.
I got discouraged. I went back to my bread-and-butter HTML and CSS, reluctantly making pseudo-dynamic websites with WordPress and sprinkles of jQuery (gasp!).
Eventually, though, I got lucky.
I'll never forget thinking "wow, this is exactly what I've been looking for!"
Blindly digging in, I had no idea that I'd be charting a course for the next eight years of my life.
An overwhelmed octopus
This is what I'd always wanted!
At that point, I was confident enough to take a swing at an entire app. For about four months starting in June of 2013, I put together an idea for a tool to help me manage my freelance projects, Proper.
For the first time, I was able to take an idea and bring it to life.
I felt invincible.
But then reality hit. After launching, while things worked, they didn't work well. Due to my lack of experience, the underlying code base was a mess. Working on the project became a chore.
One year after launch, not terribly excited by the idea and struggling to work on an improved version, I shut it down.
I realized that while the idea was good enough, my execution wasn't great. Even worse, that was the first big project I'd worked on by myself—I was exhausted.
Despite all of that, I decided that I'd had fun working on something beyond my usual freelance work.
Hard-pressed for another app idea, I decided to roll my effort invested in learning Meteor into a new site: The Meteor Chef.
A pretty good teacher
One of the problems that I had toward the end of Proper was figuring out how to export data. Despite my so-so execution, I'd managed to acquire 10 paying customers during the course of my first year.
As I was shutting down, I wanted to make sure they got access to their data (contracts, invoices, and project timelines that they'd created using Proper).
The problem was, there was no clear way to do it. No tutorials. No Stack Overflow posts. Nothing.
A little bit panicked, I scraped something together last minute—enough to make it so customers were able to download a ZIP with some .txt files with their data inside.
Scraping all of that together, I realized "hey, that was kind of fun." I'd really enjoyed the process of struggling my way to a working solution.
Eager to spin up a new project to replace Proper, I realized "I can teach people how to build their own stuff!"
The first post? How to export your own data from Meteor.
And to my surprise, what had started out as a fluke at the end of 2014 grew into a happy accident. By 2016, The Meteor Chef had grown to see 100,000 page views and 25,000 active users per month. I felt like the king of the world.
Eventually, though, Meteor started to fade from popularity and it took The Meteor Chef along with it. Around the start of 2017, I'd realized that I needed to replace the income that I was getting from memberships.
At about the halfway point of The Meteor Chef, I'd also started offering 1-on-1 coaching sessions as, The Chef's Table.
Between membership subscriptions and these coaching sessions, I was able to pay the bills.
With an active roster of coaching clients, I started to think about a new business that could leverage what I'd learned.
Who doesn't like cartoon animals?
"You're not really going to call it Clever Beagle, are you?"
That reluctant text message came in about four weeks before I launched Clever Beagle: a spin-off of the coaching sessions I'd been doing for a couple of years at The Meteor Chef.
The idea was to formalize how I worked with clients, giving them a toolkit for building their own products and then coaching them step-by-step to build and ship their own software.
I'd noticed a trend where people I was coaching would use the boilerplate app I'd built for writing tutorials at The Meteor Chef as a starting point for their own apps.
After a couple months of work, in June 2017, I launched.
I got lucky. Readers of The Meteor Chef found the idea compelling.
One person signed up. Then two. Then three.
Eventually, after about six months, I realized that I could run Clever Beagle full-time. I didn't have to supplement with freelance projects and contract work like I'd done while I was running The Meteor Chef.
Flash-forward three years and Clever Beagle has managed to become a six-figure business.
Too many things, too expensive, too confusing
Despite that initial success, though, the whole time running Clever Beagle, I've had the itch.
I wanted to build something of my own. I tried to build things that I could sell to customers at Clever Beagle (an ill-fated extensions library for the boilerplate I had built or courses to distill what I taught in my 1-on-1 sessions to others).
I enjoyed teaching others—and coincidentally, spending all day every day teaching others really helps to build your skill set—but I wanted to own something.
I wanted to apply what I was teaching others to my own app. I secretly felt guilty because I was teaching people how to build a software business without running my own.
While teaching others at Clever Beagle, I started to notice a trend. People were overwhelmed. As if learning how to make the code work wasn't bad enough, the idea of managing the product as a whole was too complex for one person.
"How do I organize and plan my work? How do I track user behavior? How do I..."
I quickly realized the problem: it's too much stuff and not enough structure. Having to think about and make decisions on all of these things simultaneously was a serious mental blocker. Despite my best efforts and encouragement, it was enough for some folks to give up entirely.
Curious and interested in building a product, I started to think. "Could I build a tool to help people manage their products and alleviate some of this stress? What does that involve? Is there a unique way to do all of this instead of creating another 'me too' product?"
As it turned out, yeah, there was.
Beyond just bringing all of those tools together, too, it worked out that having all of the data those tools generated side-by-side without the need for integrations would make for a pretty compelling product—especially for solopreneurs and small teams who were already overwhelmed.
Starting in December of 2018, I set out to take a crack at building it.
Why I'm bootstrapping my own SaaS and not putting my feet up at a cushy job
That brings us to today, and, for those loyal folks who have read this far, a why.
Why am I building Command?
Because eight years ago, I set out as a naive, ambitious computer geek eager to learn how to build his own software.
With consistent hard work, I was able to figure out how to do that.
I see now as the time to apply what I've learned, help others on a bigger scale, and take a swing at building the biggest business I've ever built.
I'm also interested in...
- Making it more affordable and less stressful for small business owners to run their software without feeling like they're cutting corners (or doing less than they should). I want to give people the tools they need and deserve without making them feel like they need $1,000,000 in the bank or feeling like a cheapskate using eh tools.
- Delegating! The past few years I was focused on ideas that were difficult to delegate because they were so dependent on me and my knowledge/experience. Delegating has always been a weak-point for me and I want to use Command as an opportunity to practice fixing that.
- Focusing on one idea long-term. I don't see the need for managing a SaaS product being an idea that goes poof any time soon. Save for adapting to new platforms or delivery mechanisms, it's safe to say I can focus on this one problem without having to chase technology.
There's also another theme underlying all of this. It's not a secret that I'm a 🐢 and take my time working on things (from start-to-launch, I've invested nearly 18 months into Command).
I do that because I want to build things that are really great and really special. I want to produce a body of work that I can look back on proudly when I'm older.
Way back when I started, I came across this clip of Steve Jobs from 2007:
That idea captivated me. I didn't just want to rush things out and ship junk. I wanted to become a master, a craftsman. I wanted to get insanely great at designing and building software, no matter the cost or time.
Command represents an opportunity to uphold this idea in a way that I haven't been able to since I started down this path.
Will I succeed? Only time will tell.
I'll do everything in my power to make success a reality, but I'm not a fortune teller.
No, all I can go on is the same premise that got me this far.
Soul beats money.