Viruses and Lockdowns, Part 2

April 2020 Retrospective


  • Place Card Me is dead, resulting in my lowest month of total profits in 12 months
  • Pegasus continues to be resilient during the pandemic
  • I’ve shifted my energy on Pegasus from product to marketing
  • I’m spending lots of energy supporting Dimagi’s coronavirus response

Last Month’s Profit

Project Profit Monthly Change
Place Card Me $51.41 -92.28%
SaaS Pegasus $1374.30 1.41%
Chat Stats $122.33 -31.50%
Total $1548.04 -29.64%

Place Card Me has been all but shuttered by the global pandemic. Here’s how the profit from the site looks across all time.

Place Card Me All Time Profit

Place Card Me monthly profit, from my Side Project Dashboard.

It’s a perfect two-month nosedive to basically zero.

Thankfully, Pegasus had it’s back-to-back best month ever, narrowly beating out March’s profits by about $20.

My overall profit is well-off my $2200/month goal for the quarter, but hopefully at least one of two things will happen over the coming months:

  1. The world will start to re-open and Place Card Me will slowly emerge from its coma.
  2. Pegasus profits will go up as I shift my focus towards marketing.

That said, a lot continues to be up in the air, so we’ll see how it goes.


April 2020 Time

Time breakdown for April 2020

Given the lockdown and lack of child care I’m actually happy with how this looks.

I’m still spending loads of time on Dimagi work—mostly related to coronavirus response—but I was able to invest substantial time in Pegasus too—almost all of it on a single article.

One sad outcome of having less time and not being allowed to leave the home: exercise is way down. But thankfully South Africa is finally allowing outdoor running as of May 1, and I may even have child care soon. So overall, things are looking up!

This Quarter’s OKRs

While writing last month’s retro I realized we were already in the second quarter of 2020 and I hadn’t come up with any OKRs.

So I set some—which are listed here with some additional context below.

Project Objective Key Result(s) Status
Financial Achieve financial independence through passive income $2200 average monthly profit for Q2 $1548
Pegasus Broaden the reach of Pegasus Produce and promote two high-quality, relevant content pieces Produced 1 so far.
The Future Better understand what life after financial independence might look like Explore 3 possible new projects with some level of depth. Dabbled in a few, nothing in depth yet.

My 2020 Q2 OKRs


My objective of achieving financial independence through passive income is unchanged. My key result of $2200/month profit is also unchanged from Q1.

In my original financial projections for the year I had done a back-of-the-envelope model of my monthly profit targets broken down by quarter. It took into account the seasonality of Place Card Me, the idea that profits would grow over time, and that I wanted to earn $42,000 for the year.

That looked like this:

Quarter Profit
Q1 $2200
Q2 $3000
Q3 $4000
Q4 $5000

Then COVID came along and all my carefully laid projections went to shit.

So—with Place Card Me zeroed out indefinitely—$3k in Q2 no longer feels realistic. So, I set a more conservative but still kind of too-ambitious target of $2200 for this quarter.

My $42k profit goal for the year will almost certainly also fail, but I’ll let future me worry about that…


The objective for Pegasus has changed from “Make Pegasus a best-in-class SaaS starter kit experience” to “broaden the reach of Pegasus”.

I finally think the product is good enough, so I’m switching my focus to marketing for a few months. Specifically, content marketing.

That’s why the key result takes the form of creating two high-quality articles that are adjacent to my target customer base. I’ll talk more about these in the Pegasus section below.

The Future

My objective of figuring out my future by “understanding what life after financial independence might look like” is unchanged. Basically answering the question, if I didn’t have to work, what the heck would I do?

The key result has shifted from time-based to project-based. So my goal is to seriously explore three projects this quarter.

Ok, with that out of the way we can finally check in on…

Last Month’s Goals

# Goal Grade
1 Create the canonical “Django Stripe Integration” content piece A-
2 Figure out my Q2 OKRs A
3 Choose first project to explore C-
  1. The Guide to Creating a Subscription SaaS Application with Django and Stripe is online! It’s still labeled as a draft, though I aim to take a final pass and remove the draft status next week. More in the Pegasus section.
  2. Done, see above
  3. I added this goal after writing my OKRs. It’s gone… okay. I “explored” a bunch of things, including mobile app development, research projects, and baking (i know) but I didn’t put substantial effort into any of them

Product Updates

Place Card Me

Status: On pause

It’s interesting—lots of people have responded to Place Card Me’s collapse by suggesting I find some way to pivot the site for some other purpose. I’ve gotten everything from Zoom backgrounds (likely a joke) to postcards. Anything somehow adjacent to the product and not tied to a physical event.

But—in all honesty—I have no desire to work on it at the moment.

The way I view it—I could scramble and pivot and maybe find a way to re-monetize the site, but the far more likely scenario is that I invest a bunch of work into something that is half-baked, gets no traction, and takes precious time and energy away from my other projects.

So I’m just thinking of this as an indefinite hiatus for the site—a little “forced vacation” if you will.

Thank you all for your support and suggestions though—I appreciate the help!


Status: Cranking up the marketing engine

As I mentioned above, I’m now spending most of my energy getting Pegasus out into the world—in the form of content marketing.

Why content marketing?

Well, one of the most surprising sources of Pegasus customers has been my article about making progress bars in Django and Celery. Likely because I own the top two spots on Google for “celery progress bar” and “django progress bar”.

People seem to research this problem, find the article, see the link to Pegasus, and then realize that it’s the solution they didn’t even know they needed!

So I want to double down on this strategy.

My plan is:

  1. Pick a topic I think Pegasus customers would be searching for
  2. Create the best content on the internet covering that topic
  3. Get that content to rank highly for the topic on Google
  4. Repeat

The guide to integrating Django and Stripe I worked on last month is the first example of this—in this case targeting queries like “django stripe integration” and “subscription saas django”, etc.

Django Stripe Integration

At almost 30 hours of effort thus far, I’m pretty sure my Django Stripe integration guide is already the best thing on the internet on that topic. Now I just need Google to figure that out.

Other pieces of content I aim to produce—in no particular order—include:

  • How to integrate Django with React, Vue, or any modern JavaScript framework
  • How to architect a multi-tenant application with Django
  • A guide / comparison chart of different SaaS frameworks and boilerplates out there

By focusing on super high-quality, evergreen content, I’m hoping to eventually rank highly for search queries that people will always be making, and thus have a recurring source of high-quality inbound traffic that lasts forever.

It also allows me to leverage two of my unique strengths: deep, domain-specific Django knowledge and content creation.

I’ve got other longer-term marketing plans for Pegasus, but this feels like a solid foundation to build up first with the limited time I have.


Status: Motivated

I don’t usually discuss my Dimagi work—also known as my “day job”—here, but it’s taking up so much of my time and headspace these days that I thought I’d mention it in brief.

What’s unique right now, is that possibly for the first time since going on sabbatical, I’m more excited about my Dimagi work than my side-projects.

It takes a lot for any “day job” to outpace the glorious motivation of a thing that you completely own, but Dimagi has managed to hit a perfect storm right now:

  • Dimagi has been on the front-lines of the coronavirus response all over the world—including in the US. It’s incredibly motivating to be so well positioned to help make a real (if small) dent in the world’s efforts to combat the pandemic.
  • Because we’re so busy, the organization has shifted into “oh shit mode”, and many of our projects are moving at a pace of a fun, scrappy startup for the first time in years. Historically, the natural slowness of a mature, 100-person organization has sapped some of my motivation.
  • The work is technically interesting, and I’m learning new things.
  • Due to my unique experience and knowledge, I’m positioned to deliver outsized value relative to time and effort.

Dimagi Covid Partners

Some of the good stuff Dimagi is working on related to the pandemic.

Because of these factors—and also maybe because content marketing is a slog—I’ve been focusing quite a lot on my Dimagi work; most recently working on helping governments figure out how to visualize and make use of their data.

I’ve gotten to set some strategy, learn BI tools (Superset and Metabase—which are both pretty great btw), and support our team on the front lines.

Overall, it’s been fun!

This Month’s Goals and Plans

With no signs of lockdown letting up and a lot of energy going to Dimagi, I’m going to continue to set less-ambitious goals than usual:

  1. Publish and promote the Django/Stripe integration guide.
  2. Run a pricing test on Pegasus.
  3. Ship my first “for kicks” side project.

The first one should be obvious from the above.

For the second one—the idea of running a pricing test wasn’t on my radar until I watched a Microconf talk by Ben Orenstien called “Blind Spots of the Developer Entrepreneur”, in which this was his top recommendation. I think there’s a chance that with very little effort I could substantially increase Pegasus’s revenue just by raising prices, so I’m gonna give that a shot.

As for the last goal—I’ve continued to do a terrible job at focusing on anything other than the things I would call “business as usual”. The intention of this goal is to try and make these silly projects feel more real with public commitments. We’ll see if it works.


That’s it! Bit of a long one, thanks for staying with me.

Only one recommendation this month: