A Five-Year Journey to Financial Freedom...and Beyond

My 2021 year in review

This is my fifth year in review. For a recap, here’s 2020, 2019, 2018 and 2017.


Photo by Alexandru Zdrobău on Unsplash

Two years ago, in my 2019 year in review I unveiled a “master plan” for my career:

  1. Grow my passive income until I no longer had to work.
  2. Keep learning and challenging myself.
  3. Enjoy the ride.

I thought it might take four years to reach financial independence, but I pulled it off in just two.

That’s right. By the end of 2021, I had earned enough income from my online businesses—about $113k—to not have to work for anyone else. I’m still working, of course, but mostly on my own stuff, and mostly on my own terms.

What does that look like?

I usually start work around 8:30 and check and respond to emails, chats, etc. Around 10, I go for a long run or a surf. I grab the kid from school, have lunch, and then do 3-4 hours of proactive deep work (typically writing or coding) in the afternoon. I wrap up at 5pm and unplug for the rest of the day.

And now, if I don’t mess anything up, I can live like this indefinitely. Pretty awesome.

This is a big milestone for me—the culmination of a plan I hatched up almost five years ago. It feels like I’m entering a new chapter of my life.

Life after financial freedom.

What does that even look like?

Before getting to that, let’s look at how I got here.

Completing a five-year journey to sustainable passive income

This whole thing started in 2017, when—feeling burnt out—I took a six-month break from my day job to try and answer a simple-sounding question: What did I want to do with my life?

The answer proved elusive, but there were a number of themes that quickly emerged. I wanted to work less and focus more on my health and my family. I wanted to maximize doing things that gave me joy. I wanted more control over my time.

Out of these themes came the idea of passive income—and specifically passive income achieved through building software products. I loved writing code. I loved building products. If I could manage to build products that people paid for, I’d be earning passive income while doing the things I loved. Eventually—if I was successful enough—I’d be completely unconstrained. Free to do anything.

That was the plan.

Since 2017, I’ve been slowly walking that road, filling the “income gap” with a part-time job and freelance consulting.


My income from software products, consulting, and a salaried (part-time) job over the last five years.

My first product was a little app called Place Card Me to help people make DIY wedding place cards. It took almost six months to earn a single dollar. But the next month it made $5. Then $60. Then $200. Eventually it started bringing in $1-2k a month. I was hooked.

The success of Place Card Me encouraged me, but I wondered—did I just get lucky? How repeatable was this?

I thought I’d try again.

I decided to take a smaller bet: I’d try to monetize a little app I had made for my friends that adds analytics to GroupMe messaging groups. I called it Chat Stats. It was a frivolous product in a tiny market. And it still started earning $100/month. It seemed pretty repeatable.

At this point I had now built two profitable SaaS products by myself.1 In the process I had become keenly aware of just how much work it was to get a new SaaS project up and running—even a simple one like Place Card Me or Chat Stats. I also realized that a lot of that work could be reused across projects.

This led me to my third, and now biggest product: Saas Pegasus, a code boilerplate for making SaaS applications. Pegasus is a product that helps people like me build products like I did—only in a fraction of the time. It turned out to be a good idea. Pegasus started generating hundreds, then thousands of dollars a month. It’s been my “main side hustle” for the last three years.

From 2017 to 2020 I earned $1000, $12,000, $25,000, and $43,000 from my software products. In 2021—on the back of a steady stream of Pegasus growth and one monstrous month—that number jumped to $113k. Every one of those dollars came from someone buying my software. Each transaction cost me zero incremental time. The dream!

Profit by Year

Total profits by year from my three income-generating products. From my open project dashboard.

This past year has been remarkable because I finally made it. After five years of scratching and clawing, I’m officially earning enough from my products to sustain indefinitely. Yes—I still need to work on them to keep the income coming. Yes—anything (a pandemic, for example)—could cause things to fall apart any time. But at this point it’s my game to lose. I’m in the driver’s seat.

The other big event this year was that I officially left my job. It was a bittersweet moment for me—saying goodbye to a company and team I’d been a part of for fifteen years was hard—but it ushered in a new era. An era where I worked for me and me alone.

Paradoxically, all this newfound freedom has been a little disorienting. What do you do when you can do whatever you want? In August, I riffed a bit on this topic. I knew I wanted to continue investing in Pegasus, but that didn’t feel like quite enough anymore.

And so came the question: Well now what?

Revisiting professional harmony

There’s a diagram that’s stuck with me since the moment I saw it. I first saw it referred to as Ikigai—a Japanese concept for something that gives a person a sense of purpose.2

The Ikigai diagram takes four pillars of work:

  1. What you love
  2. What you’re good at
  3. What you can be paid for
  4. What the world needs

And draws them in overlapping circles, with different labels for each overlapping area. The thesis is that true satisfaction—Ikigai—exists at the intersection of all four circles.


The diagram that is often referred to as Ikigai.

This diagram struck me as a wonderful way to think about career harmony. And it also revealed a hole in my own “master plan”.

I was doing what I loved. I was doing things I was good at. I was getting paid. But did the world need Place Card Me? Did it need Chat Stats?

Did it need Pegasus?

I wasn’t sure.

This put me in the “satisfaction, but feeling of uselessness” section of the diagram. I’ve spent a lot of time over the last two years wrestling with how to bring more “what the world needs” into my life. It’s been tricky.

But, hopefully, I’ve finally figured it out. It sounds obvious now, but the answer is simple: There doesn’t have to be just one thing. I already run three online businesses, this blog, another ten public side projects, and do consulting for several organizations. Each one of these projects sits in some quadrant of the Ikigai diagram. I just needed to find one more. A project the world needed.

Only, I didn’t know what the world needed.

80,000 hours—a website that helps people find meaningful careers—seemed to think AI safety was important, so I started teaching myself machine learning. But it didn’t grab me. I considered something in the climate-change space, but it seemed impossible for one part-time person to make any meaningful difference. Plus, with both AI and climate it felt like I’d have to learn a whole new set of skills to meaningfully contribute. Was that worth it when I could already code and write and do other things reasonably well?

XKCD on Machine Learning

This is in fact how much of machine learning works—at least at the introductory level. It wasn’t for me. From xkcd.

And then came Covid.

And with Covid, Covid policy. And Covid public opinion. Covid disagreement. And for whatever reason, I found myself disagreeing with a lot of people around me about things related to our pandemic response.

I wasn’t certain I was right about anything, but what was strange was that everyone around me did seem certain they were right—often while expressing completely opposing viewpoints. The only thing everyone debating Covid policies seemed to agree on was that the other side was definitely wrong. And possibly crazy.

I wondered—am I wrong to think this situation is less clear than everyone else thinks it is?

I kept digging. It didn’t seem like I was obviously wrong. It seemed like there was a lot of room for nuance, and that something bigger and weirder was going on in society. Something tied up in politics and identities and other things. Something that was starting to feel more like a religious war than a discussion about public health. And the more time passed, the more divisive, hateful, and scary the situation appeared to me.

I became most worried about the drift of the left—my own tribe—into what seemed to me to be a darker and weirder place, with escalating rhetoric and policies directed at anyone expressing dissenting views or making different choices. It didn’t seem like many of us were thinking about the unintended harms that could arise from our actions and words. As a member of this tribe, I saw an opportunity to shift the dialog to what I considered to be a healthier, more centrist place.

And so my cause was born: I would try bridge the ideological divide that had emerged over our global pandemic response.

I chose to call it “Project Griffin”.

Talking about the pandemic: half a year of failure… and finally, success?

Figuring out how to create profitable software projects was hard—especially in the beginning. I had to learn all these new skills: idea validation, marketing, sales, talking to customers. Ramping up on these things was terrifying but fun. I learned new things every day, and loved the ride.

This pandemic project—Project Griffin—brought a completely new, and in many ways even more difficult, set of challenges. How do you get people to change their minds? Especially about something they believe with almost religious fervor? All my early attempts failed spectacularly. But I kept trying. And I kept learning.

The other problem with Project Griffin was that I couldn’t figure out how to own it. To take a non-consensus opinion about Covid felt dangerous. Would I get canceled? Would people come after my family? My businesses? Would my friends abandon me? It was scary stuff.

I decided to invent a pseudonym—named Charles Iki, or the “ikiguy”3—to speak for me because I was afraid to speak my mind publicly. Charles was skeptical of outdoor masking and travel bans. He was concerned about censorship and the one-sided depiction of the pandemic in the mainstream media. And he thought the discussion around vaccines was more complicated than either side was willing to admit. Charles tried to make points with data and nuance and avoid extreme positions on either side.

Charles Iki's Twitter Profile

The Twitter profile of the person I made up to talk publicly about Covid

But Charles had no audience. No credibility. And the only way it seemed I could get traction on any of Charles’s content (i.e. Twitter likes) was to adopt a more extreme position—the exact type of position I sought to avoid. Also, many of Charles’s positions—especially in the realm of vaccines—were the types of things that quickly get you flagged and algorithmically silenced on social media these days. With zero followers and facing censorship at every turn, it was almost impossible to be heard.

So Charles was a complete failure. But, eventually, I realized the whole idea of a pseudonym was at odds with what I wanted to achieve. If I—someone devoting a large amount of my time to this “cause”—was afraid to speak up, who would? The only true path to progress on project Griffin was to own up to my beliefs. And that meant going public.

It was with this mindset that I spent the last weeks of the year working on my “Coming Clean” essay, revealing publicly that I was not yet vaccinated for Covid and attempting to make a rational, evidence-based, justification for that decision.

Publishing it was the scariest moment of my career…

My “Coming Clean” announcement was terrifying to make, but was ultimately met with mostly thoughtful and supportive feedback.

…and it was totally fine!

Yes, I got a small amount of angry hate mail and lost some a few email subscribers. Yes, it was moderated/censored off of Hacker News with many disparaging comments. But, mostly people were supportive. There was a good amount of civil disagreement. Some “huh, you make some decent points!” And a massive outpouring of private support and thank-yous for saying things that others were thinking but were also too afraid to say publicly.

The essay’s reach and reception exceeded the wildest dreams I had for it. It’s now been viewed almost a quarter-million times. Strangers took the time to translate it into Dutch and German. In many ways, this single piece of writing surpassed most of the goals I ever had for all of Project Griffin.

Google Analytics for "Coming Clean"

The essay created a tsunami of traffic to my site. Two weeks later, I’m still getting more than ten times my normal page views.

Perhaps most importantly, I had let go of the burden that I’d been privately carrying around for half a year. It was such a relief to finally reconcile my public and private identities and stop self-censoring.

And, at last, I could look to the future.

2022 and beyond: My two-headed monster

I mentioned above that I have a lot of projects going on. But the overwhelming majority of my mental energy goes to just two: Saas Pegasus, and, now, Project Griffin.

For the past six months, these two projects have taken the overwhelming amount of my time and headspace.

2021 time

How I spent my time in the second half of 2021. About 40% of my time went to Pegasus and 20% went to Griffin (“exploration”).

I struggled with Griffin last year, but I’m optimistic it’ll go better now that I’ve “come clean”. And maybe, just maybe, this combination of Pegasus and Griffin may be my ticket to professional harmony. My Ikigai.

Pegasus is the workhorse. It pays the bills, yes, but it’s also super fun and motivating to work on. It exposes me to new tech. It keeps me writing code and building products—still two of the things I enjoy most.

And it gives back. Pegasus has brought me a community of like-minded, Indie-Hacking, Django enthusiasts. And I get to see others bring their projects to life and—occasionally—achieve great success on the back of my work. Like I said last year, it still feels like Pegasus is in its first act. I can easily see myself working on it for a long, long time.

Two-Headed Monster

Much like on Sesame Street—my two-headed monster of Pegasus and Griffin will need to rely on each other for success.

In contrast, Griffin earns me no money, but is—at least in my opinion—something the world needs right now. It’s also fun and challenging in its own complicated way. I get to practice my writing and persuasion skills. I can indulge my academic curiosity. I get to have my opinions challenged. And I have lots of interesting, difficult, and sometimes very rewarding conversations.

So Pegasus and Griffin are now my little two-headed monster. Two unlikely partners that don’t make a whole lot of sense together, but somehow fit hand-in-hand into this weird little life that I’ve made for myself.

Working together to bring me closer to Ikigai.

My 2022 Goal: Sustain

At this exact moment it feels like my life is in harmony. I have financial freedom and purpose. I love what I do and I’m learning every day. Things are…good.

At the same time—if there’s one thing I’ve learned working for myself the last five years, it’s that success is fleeting. The highest of highs are quickly followed by the lowest of lows. To believe this feeling of peace will last is—frankly—hopelessly naive. It’s going to take a lot of hard work to keep up.

So that’s my only goal for the year: To stay in the Ikigai sweet-spot.

Here’s how that might look across the four pillars.

What I love

This one should hopefully be easy. I’ve mostly been doing what I love for the last five years: coding, writing, building products, growing businesses, surfing, taking care of myself, etc. “Will I enjoy this?” is usually my top criteria for taking on new projects.

Still, 2022 may bring some challenges. I’ll have to make sure I don’t get too bored or comfortable working on Pegasus. I also have to make sure I don’t get sucked into the emotional negativity of Covid discourse. These will be obstacles, but hopefully surmountable ones.

What I’m good at

I’m also hopeful I’ll be able to continue doing what I’m good at, and continuing to grow.

The thing I’m best at is probably coding, and I have no plans to stop. I’m improving (I think?) at writing, and hope to keep exercising that muscle. And I suspect Griffin will bring me into many uncomfortable places where I’ll have to keep challenging myself. Exactly as I’d want.

What I can be paid for

Ah yes, money.

For each of the last five years I’ve had a financial growth goal for my businesses—typically $15-20k higher than whatever I made the previous year. For as long as I was still questing for financial freedom it felt important to make that number go up.

But now things have changed.

Now that I’ve met my target, financial growth doesn’t really matter. Sure, more money is always nice, but I no longer need it. I’ve always viewed money as a means to an end—and the end is freedom. It’s where I already am. So, since I made enough from my own businesses last year, my 2022 financial goal is simply to sustain. I’d like to earn at least as much from my personal projects as I did last year. A healthy $113k.

Will this be easy? The number’s gone up every year so far, so…hopefully? Either way, it will certainly still take work.

My high-level plan is to do what I’ve always done. Make Pegasus as awesome as I can by mostly following my instincts, splash in some occasional marketing, and hope good things follow. Thankfully, they have so far.

Doing what the world needs

Ah, the ever-elusive fourth pillar. Doing good for the world. Whatever that means.

This is the one I’m most worried about. It’s nice to at least have some big-picture direction with Griffin. But beyond “helping reconcile the Covid situation” things quickly get fuzzy. With “Coming Clean” I was able to make a meaningful contribution, but…now what? Do I just…keep…talking about Covid? That doesn’t sound right.

At the moment with Griffin there are a lot more questions than answers. And I suspect getting to the answers is going to be a long, hard road. But that’s ok—if it wasn’t, it wouldn’t be interesting!

In Conclusion

You might think that financial freedom would be the end of a story. A time to sit back, ride off into the sunset, and declare victory.

For me, it’s different. Financial freedom was never the destination. There is no destination.

There’s only a road.

And if life is a journey, then financial freedom is more like a horse.

Being on a horse makes your journey easier, faster, and more enjoyable. You get better views and perspective from up there. Your legs don’t get as tired. You have more choices about where to go.

And you can travel to more ambitious places.

So with that I’ll just say…

…Giddy up!

Giddy Up!

Me and my horse analogy. Ready for what comes next. Photo by Taylor Brandon on Unsplash

Thanks to Rowena Luk for reviewing a draft of this. If you’d like, you can support it on Twitter.


  1. I was also heavily involved in the creation of a third—CommCare—as a part of my job at Dimagi. 

  2. The diagram technically does not have anything to do with Ikigai apart from attempting to fill a similar philosophical space. It was created by Andrés Zuzunaga, a Spanish astrologer. But, I knew it as Ikigai for a while, and it’s easier to refer to that way. 

  3. Get it?!