This is my ninth year-in-review, where I document my journey of building and selling products online, a.k.a. indie hacking. For the past few years I’ve mostly worked on SaaS Pegasus, a Django starter codebase for building SaaS apps.
Previous years: 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017
It’s easy to build in public when things are going well.
It sucks when things aren’t.
Since I started my solopreneur career nine years ago, every year I’ve earned more than the last. The $800 I earned in 2017 became $12,000 in 2018, then $25k, $42k, $110k, $145k. At that point I stopped sharing things publicly, but the numbers kept going up.
Until this year.
This was the first year where my income from my products went down. And not down just by a little—down by over 30%.
I have to get this out of the way up front, because my year was dominated by the backdrop of this inflection point. In trying to understand why it was happening and what to do about it. The way it impacted my psyche and sense of self-worth. And how it changed what I did, and how I’m thinking about the future.
To be honest, I feel a bit lost. It feels like much of the year was spent grasping at different ideas and ways of adapting to the situation while not necessarily landing on any plan I actually like. Part of me is hoping that by writing this all down I can get myself to a place where I better understand what to do next. Another part of me worries I won’t figure anything out, but wants to get it all out anyway.
Either way, let’s see how it goes.
The numbers
In last year’s review I shared a graph of my main product, SaaS Pegasus’s, revenue by year. Here’s that graph with 2025 added.

Here’s how 2025 income (purple) compares to 2024 (dotted grey), by month.

Like I said—kind of bleak. Those summer months were rough! Things picked up a bit at the end of the year for my annual sale, but were a far cry from past years.
Now I’m going to talk about some of the impact this change has had on me.
The psychology of peaking
I got into running pretty late in life—in my mid-30s, and around the same time I started trying to be a solopreneur.
One of the best things about taking up a new hobby is that you are constantly improving. This means that you can regularly beat your own personal bests. But as my fitness gains started leveling off, I found myself plateauing. Then I hit 40, had an injury, and suddenly my peak running shape was behind me. Running no longer gives me the daily thrill of improvement, but is more an exercise in fighting off further decline.

How exercise changes as you age. Source.
This sucks! Psychologically, accepting that you are just never going to be able to do something as well as you used to is a hard thing to accept. This inflection point of physical capabilities was one of the many small triggers of mid-life crisis I’ve bumped into in recent years.
Anyway, the point is that this is kind of similar to how things feel with entrepreneurship now. Like with running, I’m still way ahead of where I was a decade ago. But I’m on the opposite side of a peak, looking downhill.
The analogy doesn’t quite work, since obviously it’s possible to recover a declining business. Maybe I also just wanted to bitch about growing older? Either way, fighting off decline is just way less fun than growing from nothing.
And it’s hard coming to terms with the possibility that you may be past your prime.
The hedonic adaptation of a number
Hedonic adaptation is a phenomenon related to how we humans perceive change.
When something—let’s say your income—gets better in your life, you get a little boost of happiness. But quickly, most people revert back to the same baseline level as before the change. The result is that most lifestyle improvements feel short-lived. You keep chasing the next upgrade, but the feeling of improvement never lasts. And eventually you’re on a hedonic treadmill—constantly trying to achieve the next thing and not ever feeling any better.
As my income went up over the past decade, my lifestyle has mostly stayed the same. We were already doing great, and we’re still doing great.
The only thing that’s really changed was a number in a bank ledger somewhere. That number has been higher than I need it to be for some time and will remain that way indefinitely.
From that perspective, it really doesn’t matter if I’m earning $100k, $200k, or $500k per year.
But, as the number has gone up over the years, I’ve adapted to it. So now, when my income goes down from “more than enough” to “more than enough but less” I somehow feel like it’s a problem.
And it’s not!
It could be a problem—years and years from now if the trend keeps up and I don’t figure anything else out. But it is nothing close to a problem today. At most, it’s a concern. A concern I have years to act on.
I say all this, because even though I know all of the above to be true, it doesn’t feel that way. My stupid monkey brain sees “number go down = panic.” And so I’m constantly discouraged and scheming on how to make the number go back up. Much to my own psychological detriment.
Returning to the workforce
It is under the backdrop of feeling past my prime and a fake concern about not earning enough money that I found myself considering returning to the workforce. And when what looked like a perfect opportunity landed in my lap—building AI features for a San Francisco-based startup—I decided to take on a part-time contracting job.
Why did I take the job?
Partly, yes, because my monkey brain was panicking about my income going down. That was definitely the catalyst.
But it wasn’t just that. Recently, I’ve been feeling like me and Pegasus have been a bit stagnant. And I thought getting some exposure to the environment of a high-growth, well-funded Silicon Valley startup would be a great learning opportunity. Which it has been. It’s also been a great chance to better understand production AI systems at scale.
Why didn’t I tell anyone I took the job? I think for similar reasons I didn’t announce Pegasus’s declining revenue. Because it kind of feels like admitting failure.
Going back to contracting after “making it” on my own looks a lot like a step backwards. And even if I can fully justify all the reasons why it’s been a good step for my career, I worry it will be perceived as me giving up on my own products and abandoning the indie hacker dream. Something like that.
Anyway, that’s the backstory. So for the second half of the year I spent about half my time on solo-projects (mostly Pegasus) and half my time contracting at a fast-growing tech startup.
The self-fulfilling prophecy problem
Ok, I think that is all the context and cards out on the table. Which means I can start reflecting more on the year.
To summarize where we are so far:
- Pegasus revenue started going down.
- I panicked and took on a part time job.
- I now have less time to work on Pegasus.
I’m now growing worried that I might have entered an anti-flywheel of sorts.
When I am full-time on Pegasus it’s pretty easy for me to handle customer support, do new feature development, and do a bunch of marketing/exploration work in any given month.
But, when I’m half-time on Pegasus that gets a lot harder. The support burden stays the same, taking up a bigger chunk of my available time, and leaving little left for the proactive stuff.

This reduced time makes it harder to address issues in the Pegasus business, take new strategic risks or do big marketing efforts. In the end I worry it could lead to a self-fulfilling death-spiral:

If I want Pegasus to survive and thrive I need to figure out why revenue and sales are going down and right the ship. But the less time I have available, the harder that becomes. So while it’s true that this job has exposed me to a lot of things that will be useful for Pegasus long-term, it’s also true that the job makes it fundamentally harder to experiment, iterate, and focus on Pegasus in the short-term.
By taking the “safe” route of supplementing my income, am I setting Pegasus up for failure?
Looming AI and the conviction problem
I used to be certain that Pegasus was solving a real problem, and if I could execute well on product and marketing, it would find a place in the market.
But with the advent of AI, the future of Pegasus is a lot more uncertain. I’ve been having conversations about this with myself for at least a year, but the trend is hard to miss. AI is coming for coding, and boilerplate code will be one of the first pillars to fall.
Now don’t get me wrong, I still believe that Pegasus is a hugely valuable product. I recently wrote up why for my mailing list, and I stand by these words. Here’s the conclusion:
There might one day be a time when AI is so good at coding that products like Pegasus are no longer necessary, but that day is not today. Today, a vetted foundation like Pegasus is one of the best ways to set yourself up for long-term success.
Yes, Pegasus is still good today. I just don’t really think I should bet against the progress of technology.
This is part of why I’m so conflicted about the whole “returning to a job” thing. On the one hand, I might be setting Pegasus up for failure by not investing wholly in it. On the other hand, if Pegasus is fundamentally doomed—at least in its current incarnation—then not investing in it is just good common sense.
This is hard for me to put in writing, but I think I am slowly coming to terms with the fact that Pegasus, in its current form, is unlikely to survive the age of AI coding. I think it’s still got some runway before the AIs catch up, and will provide great value to people using it for years to come. But I have to accept that Pegasus—as it is in 2025—might not be very useful to the coders of 2035.
So if the current incarnation of Pegasus has an expiration date, what do I do next?
The scary possibility of starting over
I’ve built some 20-something products over the last decade. Five have made some money. Two have made at least $100k. But only Pegasus has ever provided salary-replacement-level income.
If the future of Pegasus is doomed because AI eliminates the category, the main alternative to returning to the workforce is to figure out something else of my own. Maybe it’s a Pegasus pivot. Maybe it’s a new product. Maybe it’s something more unusual like a Substack or real-estate business. Who knows.
This path sounds—frankly—exhausting. But also kind of awesome if it worked? There’s still nothing I love more than creating products that help people, and being able to do that while living on my own terms has been such a privilege.
It’s hard to know what my success rate would be on this path. I have a lot going for me that I didn’t have when I first got started. A bunch of entrepreneurial knowledge and scars. A small-but-not-zero audience across social media and YouTube. A lot of runway. Pegasus.
What I don’t have is the ability to predict the future. I’ve never had that, of course, but it felt a lot easier ten years ago than it does now. The AI era is full of new miracles every day. And because of that it is frustratingly hard to figure out what’s coming next. Will coding be dead? Will SaaS be dead? Will white collar work be dead? Will humans be dead?! That these are all actual questions that serious people debate is just wild.
Anyway, in the age of AI I think there are really only two remotely “safe” options.
The first is to go all-in—ride the AI wave and see where it takes me. This seems to be what a lot of smart, technical people that I admire are doing. For Pegasus, it might mean making the best way to build AI products, or making an AI-powered code generator. For me, it probably just means trying to stay at the bleeding edge of AI developments and see where that takes my career. This path is largely aligned with my background and skills, though keeping pace with AI is a never-ending sprint that I’m not sure I’m willing to sign up for.
The other path is to find things that will be resilient—even in the age of AI. The first-principles-level “safe” investments that come to mind are things like real estate, restaurants, experiences, and communities. People will always want to live in nice places, eat good food, and do interesting stuff with other people. Those might be AI-resistant things to do, but they are also quite a leap from my current career path.
Hmm…
I don’t know what happens next
I wrote above:
Part of me is hoping that by writing this all down I can get myself to a place where I better understand what to do next. Another part of me worries I won’t figure anything out, but wants to get it all out anyway.
Having gotten everything down, I think it’s clear that it’s the second option. I don’t know what happens next.
What I do have is more clarity on the problem, some good options to explore, and the peace of mind of finally getting all this out in the open.
The world is changing fast, and it appears the era of my career where I was able to coast by with SaaS Pegasus is coming to a close. I guess it’s time to adapt or die.
And so the roller-coaster continues!
Let’s see where it takes me next.
If you’re interested in more, I also wrote a separate, more personal update covering the details of the year, and you can sign up below to get emailed when I publish new stuff.