This is my seventh(!) year in review. For a recap,
Below is ~everything I worked on this year, ordered by how much time I spent on it.
So it goes from the least important (to me) to the most important.
Time spent: 6h (< 1%)
Chat stats, my niche hobby site for searching and analyzing GroupMe chat messages,
continued to chug along mostly on autopilot.
I didn’t do any feature development this year, so the six hours was almost entirely customer support.
I don’t really care or think about this project, it just kinda runs, makes a little bit of money, and that seems ok.
Place Card Me
Time spent: 10h (< 1%)
Place Card Me, my printable place card maker,
took a relatively big financial hit this year, down 40% from last year, while running mostly on autopilot.
About half the ten hours I spent on it were doing customer support,
and the other half were on a mini-sprint in October to try and revitalize the product and landing page—which
may have helped some.
I can’t help feeling like I should be doing something different with Place Card Me.
Investing in it more, selling it (I’ve had several offers), etc.
Photos New Tab
Time: 14h (~1%)
Status: Having fun
Photos New Tab is a browser extension to show you photos from your Google Photos account in your new tabs,
available in Chrome
and now Firefox.
I built it six years ago and haven’t really touched it since.
But Google threatened to shut it down if I didn’t upgrade the extension format,
so I took it as an opportunity to breathe some life into it, modernize the tech stack some, and add support for Firefox.
This project reminded me that it’s okay—and sometimes even preferrable–to build things without the goal of making money.
Building something for yourself, for fun, takes away a lot of the pressure!
Time: 76h (6%)
My goal for the year was to write six things I was proud of.
Technically I published five things that have kind of a non-retrospective feel to them,
but two of them were technical pieces that doubled as marketing for my other projects,
leaving only three “pure” pieces of content:
- Quit Monkey, Grit Monkey is probably the piece of non-technical writing I’m most proud of.
I think it is actually useful, relatively hard-fought advice about pushing through the early stages of entrepreneurship.
That said, for whatever reason it got very little attention and was not popular at all.
- The Slow Death of Authenticity in an Attention Economy was a rant that I wrote in a few hours—though
it captured a feeling I had been having for a much longer time.
It rocketed to the top of Hacker News, stayed there until it seemed to get artificially de-boosted, and started some good conversations.
Probably 10,000 people ended up reading it, and I enjoyed the success, as I always do,
though it’s not clear that I contributed any novel or useful ideas to the world.
- The Sport of Indie Hacking was an attempt to capture the feeling of uncertainty and
self-doubt that comes from this odd career path I’ve chosen—a feeling that pops up even when things are going well.
It’s probably the piece of writing I like the least from the past year, perhaps because it just wasn’t an important
enough topic to warrant writing about. It was also very unpopular.
76 hours is a lot of time for three okay-ish blog posts!
This category includes lots of discarded content, private writing, retrospectives, and time spent on promotion.
But man, that’s not a great body of public work for that amount of time.
Time: 158h (12.5%)
Status: Winding down?
I did more contract work than I expected to this year.
This is largely due to a large project that I’d committed to ages ago finally getting prioritized,
though there were also several small projects I took on for fun or educational reasons.
Overall, I didn’t mind the work, and the income was significant, but hope not to repeat this amount of contract work moving forwards.
Time: 327h (26%)
Profit: $-2k (that’s negative)
Scriv is a product I launched in February as a tool for archiving and searching Slack workspaces.
Then, once LangChain and RAG hit the scene,
I added chat-with-your-data capabilities on top of, and made that the main selling point of the product.
It has made about $900 in revenue to date, but once you take out OpenAI fees, hosting,
and money that I paid a friend to help me build it, it is still ~$2k in the red.
Not a great outcome for 300 hours of work and 25% of my attention!
I could—and perhaps I will—write an entire article about Scriv.
It is not the obvious failure that it appears to be with those numbers, but it is certainly a failure,
and it would be good to reflect on what I can learn from the experience.
I suspect that I should have either spent way more or way less time on it, and
the amount I chose was the worst (enough to be a major investment, but not enough to out-hustle my competitors).
Time: 650h (51%)
Profit: Over $100k (exact number redacted)
Status: Still going strong
SaaS Pegasus is a Django-based SaaS boilerplate
that—for the fifth year in a row—was my main hustle.
And, for the fifth year in a row, it’s continued to grow and succeed more than I expected.
Pegasus now pays me comfortably more than any job I’ve had in tech, and I continue to love working on it.
It is difficult to summarize everything I did with Pegasus this year, so I won’t try.
But it has gotten way better and more powerful throughout the year.
Also filed under the Pegasus time bucket is the time I spent on my YouTube channel,
which grew from 500 subscribers at the beginning of the year to about 1,200 now.
I published 20 Pegasus-related videos and—even though the content is still pretty raw and the “ums” and “uhs” still very noticeable—I
think I’m getting better at it?
The new SaaS Pegasus project gallery.
The most rewarding part of building Pegasus continues to be the community that’s building things on top of it.
I was recently reminded of this when adding a gallery of products built with Pegasus—which
contains a range of things from “the most popular photo editing app on the app store”
to “a backend system for marijuana manufacturers”.
Seeing people bring their ideas to life with Pegasus and—in some cases—turn them into life-changing businesses will never get old.
In all the uncertainty surrounding everything else I do, it remains very nice to have Pegasus as my stable rock.
Me and my boys.
It was mostly a good year from an outside-of-work perspective.
My boys are now 3 and 5 and it’s getting possible to see the light at the end of the “you are always tired because you have small kids” tunnel.
And yet, at the same time I am realizing more and more how special these years are.
Seeing their little personalities emerging, watching them figure out the world,
and learning from their simple attitude towards life is such a joyous experience that is difficult to put into words.
I’ve started to wonder if these are actually the best years of parenting and not—as I’d previously assumed—the worst ones.
Of course there have been ups and downs. I’m feeling my age more than ever,
have had to slow down my trail running substantially, and started doing things like icing my knees on a regular basis.
We’ve also had to deal with a number of logistically annoying issues related to immigration in South Africa—one
of which involved abandoning my wife and son while my other son and I hit the road for a month.
A number of close friends and family members have been facing various physical and mental health struggles this year,
and it’s hard to capture the combined feeling of love and powerlessness that comes from wanting to help and not knowing how.
I am grateful to not be afflicted myself (yet?), but it has been tough seeing the suffering around me and not being able to do anything about it.
Yikes, that got a little heavy. But that was the year! For the most part it was another good one and I’m grateful for the life and career I have.
This write-up has raised a number of questions I need to figure out, and I’m planning to take some time over the holidays
to figure them out. I’ll hopefully publish some thoughts in January, or, maybe, will just dump 20 hours into
an unpublished Google Doc and call it a day.
What does 2024 hold for me and my various endeavors? Stay tuned…