The Indie Hackers "30 Days of Growth" challenge

Spending a month trying to grow Pegasus by working in public.

I’m taking part in the Indie Hackers “30 Days of Growth” challenge.

My focus will be on growing SaaS Pegasus, my just-launched Django SaaS Starter Template.

The metric I’ll target is sign ups—since I really have no idea how likely anyone is to buy the product yet. This should incentivize me to improve inbound traffic and my conversion rate from visitor to sign up.

Each working day, I’ll plan to update what I did the previous day and what I’m planning to do next.

Thanks to Louis Nicholls for inspiring the format.


The challenge is over!

For my overall thoughts on participating in the challenge, see: 30 Days of Accountability.

Day 31

In an unexpected turn of events I’m in Malawi in all-day work meetings today.
So, I made little progress yesterday while traveling and probably will make none today.

Which I guess is good! Because the challenge is technically over!

I’ll write up a retro on participating soon, but for now, closing out with a quick note in the usual format.

This was fun and I’ll probably never do it again. :)

✓ What I Did Yesterday

  • Polished “Is Pegasus Right for Me?”

💪 What I Plan to do Today

  • Probably not much

📈 Sign Up Count: 87 (+1)

Day 30

✓ What I Did Yesterday

  • Rolled out
  • Flew to Malawi (not related to Pegasus)

💪 What I Plan to do Today

  • Work on content

📈 Sign Up Count: 86 (+1)

Day 29

✓ What I Did Friday

  • Evaluated four different live chat options
  • Wrote “Is Pegasus Right for Me?”

💪 What I Plan to do Today

  • Roll out live chat

📈 Sign Up Count: 85 (+3)

Day 26

Yesterday while doing some market research I stumbled across the Gravity Indie Hackers Interview.

Gravity’s a very similar product to Pegasus but for Node.js instead of Django.

Anyways—long story short, after reading that interview I decided to add a live chat widget to the site and then got totally lost trying to pick one.

There are lots!

✓ What I Did Yesterday

  • Cleanup content layout
  • Continued first article: “Why Use a Starter Kit?”
  • Explored Live Chat options

💪 What I Plan to do Today

  • Pick a live chat widget and roll it out

📈 Sign Up Count: 82 (+3)

Day 25

Unblocked! Going to do some content creation for a bit. Not sure I can articulate why it’s the best thing to be doing, but at least it’s something.

✓ What I Did Yesterday

  • Started working on making a new content area on the marketing site
  • Worked on first article: “Why Use a Starter Kit?”

💪 What I Plan to do Today

  • Continue on the above

📈 Sign Up Count: 79 (+3)

Day 24

Suffering from analysis paralysis on what to do next for Pegasus, which is causing me to prioritize other work instead of figuring it out.

✓ What I Did Yesterday

  • Followed up with potential customer on a student offering

💪 What I Plan to do Today

  • Choose next big area of focus (for real this time)

📈 Sign Up Count: 76 (+3)

Day 23

Second launch email got a disappointing reception.

✓ What I Did Yesterday

  • Sent launch email to another part of the list
  • Added video links to onboarding email sequence

💪 What I Plan to do Today

  • Choose next big area of focus (and maybe start working on it)

📈 Sign Up Count: 73 (+2)

Day 22

Initial launch email resulted in a flurry of sign ups (though sadly no conversions yet). More emails going out today.

✓ What I Did Friday

  • Sent launch email to part of the list

💪 What I Plan to do Today

  • Send to another part of the list
  • Tweak onboarding sequence
  • Figure out next effort

📈 Sign Up Count: 71 (+13)

Day 19

Short day.

✓ What I Did Yesterday

  • Planned and drafted launch emails for the list

💪 What I Plan to do Today

  • Finalize and send emails

📈 Sign Up Count: 58 (+2)

Day 18

Yesterday was a screencast bonanza! They’re not perfect, but hopefully good enough to convey the key information.

✓ What I Did Yesterday

💪 What I Plan to do Today

  • Work on email to mailing list about Pegasus’s launch

📈 Sign Up Count: 56 (+1)

Day 17

New Profile Page

New profile page—now with 100% more pictures!

More yak shaving!

In the process of preparing my next screencast I decided to clean up a few things in the UI and between that and addressing some technical debt I didn’t get to any growth items.

✓ What I Did Yesterday

  • Overhauled user profile page
  • Removed legacy dependency on unneeded Python library
  • Released 0.1.0

💪 What I Plan to do Today

  • Address Google mobile usability issues
  • Make screencast documenting Pegasus’s user/auth features

📈 Sign Up Count: 55 (+3)

Day 16

Bit of a slow day yesterday because I had a big backlog to catch up on.

✓ What I Did Yesterday

  • Fixed failing payments UX
  • Added screencast to docs and landing page
  • Clarified CTAs on landing page and during onboarding

💪 What I Plan to do Today

  • Make screencast documenting Pegasus’s features

📈 Sign Up Count: 52 (+1)

Day 15

I’m back!

I didn’t work on Pegasus at all in the last week, but thanks to my last-minute SEO efforts still got a pretty steady stream of 2.5 sign ups per day while offline.

Picking up where I left off…

✓ What I Did Yesterday

  • Vacation! (see below)

💪 What I Plan to do Today

  • Better UX for when Stripe payments fail.
  • Incorporate screencast into welcome email.
  • Plan next screencast(s)

📈 Sign Up Count: 51 (+18)

Day 7-14

Day 6

Good day to wrap up on before I go on vacation! Google rankings jumped back up after making some fixes, and an Indie Hackers feature got me a lot of good feedback on the product as well as many (probably low value) sign ups.

✓ What I Did Yesterday

💪 What I Plan to do Today

  • Nothing! Taking a week off in the Wild Coast. :)

📈 Sign Up Count: 33 (+9!)

Day 5

Not my most productive day. Spent a lot of time Yak Shaving trying to prepare for the Pegasus screencast.

✓ What I Did Yesterday

  • Tweaked Pegasus install script
  • Worked on script for screencast

💪 What I Plan to do Today

  • Record screencast
  • Look into why my SEO has tanked with domain transition

📈 Sign Up Count: 24 (flat)

Day 4

Background Tasks

Pegasus now comes with a background task + progress bar example.

✓ What I Did Yesterday

💪 What I Plan to do Today

  • Work on screencast of how Pegasus works for marketing site.

📈 Sign Up Count: 24 (+1)

Progress Bar Blog CTA

CTA added to the blog post

Day 3

✓ What I Did Yesterday

💪 What I Plan to do Today

  • Work on adding progress bar functionality to Pegasus

📈 Sign Up Count: 23 (+2)

Day 2

✓ What I Did Yesterday

  • Wrote June Retrospective
  • Joined “30 Days of growth”
  • Created initial growth idea list (see below)

Initial Growth Roadmap

First shot at my list of ideas for the next 30 days of growth

💪 What I Plan to do Today

  • Select first idea(s) to work on
  • Work on them!

📈 Sign Up Count: 21

Day 1

✓ What I Did Yesterday

  • Nothing, first day of challenge.

💪 What I Plan to do Today

  • (Already done) write June Retrospective
  • (Just did) Join “30 Days of growth” challenge—so meta!
  • Start working on a roadmap of ideas of try this month