An Unexpected Reset Month

One-Line Summary

I'm safe and healthy, but my businesses have taken a tumble.

Highlights ๐Ÿ”—︎

  • My loved ones and I are safe and healthy.
  • WanderJest is on hiatus due to the nationwide shutdown.
  • I’m working on a product to help investors rebalance their portfolios.

COVID-19 and me ๐Ÿ”—︎

Obviously, the most relevant thing to happen in the last month has been the global spread of COVID-19. It has been a difficult and rapidly-changing time for all of us, and I hope that we can all return to normal life quickly when it’s safe to do so.

I’m extremely fortunate to be in a position to continue living safely and doing most of what I want while rigorously self-isolating. I’m an introvert programmer, so staying home on the computer isn’t that hard for me. I’m glad I moved from NYC to a small town in Western Massachusetts, as it’s easy for me to hang out in my yard, visit my beehives, or go for walks without risking anyone’s health. My girlfriend is working from home in our guest bedroom, so we’re both very grateful that we have each other during the self-isolation. The biggest change is that I don’t get to see my family in person anymore, but we’ve started arranging video calls to stay connected.

In February, I found myself backsliding into social media addiction because Facebook and Instagram were integral parts of my business. I recognized what I had to do to stop compulsively checking social media, and I did well for about a week… Then COVID-19 happened, and I began obsessively checking everything all the time, worse than ever before. I’m still managing that poorly, but I’m hoping that April will be a reset and get me back to my good social media habits.

My failed scavenger hunt ๐Ÿ”—︎

In my last retrospective, I had invested $600 into publicity for a comedy scavenger hunt, and I was worried that it would flop. It did indeed flop, and not even due to COVID-19.

Banner for scavenger hunt with canceled stamp over it

I canceled the WanderJest Scavenger Hunt on March 11th.

In the first week of March, people were still attending local comedy shows as usual. I’d go to these shows and hand out promotional cards about the scavenger hunt and explain to people that if they took a picture during the show and tagged it @WanderJest on social media, they’d enter a grand prize drawing for $200. People generally seemed receptive. “$200? Wow, cool!”

And then they just wouldn’t take any photos. I made Facebook ads, put up flyers, and promoted the contest through my social media channels, but nobody participated.

Comedians didn’t seem excited about it either, even the ones who had paid to sponsor the contest. While designing it, I felt so clever for including a $50 prize for “most photographed performer” because I expected it to help performers feel invested in the contest and inspire them to mention it when they hosted comedy shows. But nobody did.

My best guess is that local comedy is cool, and PR contests are not cool. Perhaps people didn’t want to be seen as desperate to win $200, especially when nobody else was participating.

Putting WanderJest on hold ๐Ÿ”—︎

Even before the start of the month, news about COVID-19 was getting worse, but I didn’t know what the appropriate level of response was. Huge conferences and sporting events were obviously a bad idea, but was it a problem to have 20-30 mostly young, healthy people in a room together?

Every day, news about COVID-19 got worse, and it became ever-clearer that we needed to take drastic action to slow the spread. On March 10th, the governor of Massachusetts declared a state of emergency and prohibited gatherings of over 50 people. Most local comedy shows in the area fit within that, but I no longer felt comfortable attending shows, and I didn’t want to incentivize others to attend. The next morning, I refunded all of the sponsors and announced the cancelation of the contest.

Because of the contest’s pitiful engagement, only one person had taken a photo during the 10 days of the contest. The grand prize was $200, but I offered her $100 in light of the circumstances, and we both felt that was fair.

A week later, performances were still happening, but I didn’t want WanderJest to tacitly endorse them by listing upcoming shows. I replaced the WanderJest show listings page with a notice saying that the site was going on a temporary hiatus until the COVID-19 pandemic was over. Looking back, March 18th feels like too late a reaction, and I wish I’d shuttered the site earlier.

Screenshot of WanderJest website with hiatus notice

WanderJest is on indefinite hiatus until the US gets COVID-19 under control.

Takeaways from the scavenger hunt ๐Ÿ”—︎

Rushing the contest was the right choice

The contest cost $600 for marketing another $100 in prizes, but it failed miserably at my goal of spurring 40 new user signups. At first, I felt stupid for spending so much money without any evidence that people would participate. I could have limited the cost had I started slower and left myself room to cancel the contest if it failed to gain traction early on.

Banner for scavenger hunt with canceled stamp over it

These 500 unused promotional cards will come in handy the next time I launch a contest happening in March 2020.

In retrospect, I’m glad I rushed into the contest and spent the money. I certainly could have set a later start date and given myself more time to evaluate people’s interest, but my top priority was finding ways to attract users to WanderJest. If $700 got me the results of my experiment a few weeks earlier than a more measured approach, that’s an acceptable tradeoff.

Paper flyers did nothing

In a last act of desperation, when other marketing strategies weren’t working, I hired a local printing company to make 150 flyers and then hired a flyering company to distribute them around town. The flyers had a unique URL, which allowed me to measure their performance against my other advertising channels.

The results? Two visitors.

I paid ~$200 for the design, printing, and distribution, and two people visited the URL. It’s possible that other people saw the flyer and just Googled “wanderjest,” but I didn’t see any measurable uptick in search traffic.

Text conversation of my sister showing me a flyer that showed up on her lawn

The only real engagement from my flyers was my sister texting me to complain sarcastically about one that blew onto her lawn.

WanderJest isn’t working

My main takeaway from the contest is that WanderJest isn’t working in its current form and needs a drastic change.

Here are pivots I’m considering for when live comedy starts up again:

  • Do the same thing, but scale it to a bigger city like New York or Chicago, where there’s a critical mass of die-hard comedy fans.
  • Focus on the more specialized niche of traveling comedians who rely on comedy for their income.
  • Offer paid services to comedy venues (e.g., tools for booking performers or managing show schedules).

Creating an investment rebalancer ๐Ÿ”—︎

Without WanderJest, I needed a new project. I periodically rebalance my portfolio to maintain my desired asset ratio of 50% bonds, 35% US stocks, and 15% international stocks. Rebalancing is tedious and usually involves me tinkering with a spreadsheet for 45 minutes, testing out different hypothetical trades.

I looked for products that could speed this up, and the options seemed to be:

  • Robo-investing services, such as Betterment
  • Tools that are only available as part of bulky, expensive investment management platforms
  • Free Excel spreadsheet templates that are difficult to use
  • Free online calculators whose functionality is limited

There aren’t any user-friendly tools for people who want to rebalance their assets but don’t want to buy into a huge financial services platform.

And because of the recent market volatility, interest in portfolio rebalancing is at a five-year high:

I spent the last two weeks making a minimum viable product of Portfolio Rebalancer, a web app that shows you the trades you need to make in your Vanguard account to achieve your desired asset allocation strategy:

I’m still trying to figure out how to market it. I sent cold emails to several local financial advisors offering to pay them their hourly rate to talk with me about what sort of tool would be useful to them or their clients, but none of them responded. I tried sharing it on reddit and got a small positive response, but nobody was banging down my door to get a paid version. My next idea is to write about the technical lessons I’m learning as I build the site and hope that it draws attention from programmers in my audience who invest their money similarly.

How do you balance percentages? ๐Ÿ”—︎

To choose their asset allocation on Portfolio Rebalancer, the user adjusts a series of sliders to specify what percentage of their funds they want in each asset category. It seems simple enough, but I struggled with it for days.

My initial implementation was that +1% in one slider should mean -0.5% in the other two sliders. It quickly became apparent that wouldn’t work, because if you set your first slider to 60%, then change your next slider to 10%, it auto-adjusted the last slider you set:

First implementation: can’t ever specify the set of percentages you want

Next, I tried adding a checkbox to “lock” a particular slider into place, but that felt convoluted and allowed the user to get into states where the percentage totals exceeded 100%:

Second implementation: extra “lock” controls are ugly and confusing

Finally, I realized the more intuitive behavior is to just auto-adjust the slider you touched least recently:

Final implementation: balance changes against the least recently changed slider

Interesting discoveries ๐Ÿ”—︎

Writing slide decks in Markdown with hugo-reveal ๐Ÿ”—︎

I created a new conference talk for NERD Summit this year called “How I Used Python to Steal Money." For all previous talks, I’ve used Google Slides, but I’ve heard other people talk about using tools to “compile” their presentations from plaintext source files, and that sounded neat.

I used reveal-hugo because I already knew how to use the Hugo static site generator (which powers this site).

The biggest advantage is that writing in Markdown allows me to focus on the content first and worry about the layout later. Google Slides requires me to choose the placement for any text before writing it, so I get distracted thinking about the aesthetics. reveal-hugo is also nice for formatting code snippets, which can be a challenge in Google Slides. The other neat feature is that it lends itself to more automation, so I now have an index for all of my talks, which is cool. And the source is all public.

One of the biggest pain points was that it’s hard to make slide elements appear one-by-one as the presenter clicks forward. The tool technically supports it, but it doesn’t work for things like bulleted lists. Even when it does work, it makes the layout a little bit wonky. As a workaround, I created shorter slides, so instead of revealing the next bullet point, I’d advance to the next slide. This could be better for people who prefer slide decks to move more quickly.

The other big missing piece is drag and drop layouts. In Google Slides, it’s trivial to add an arrow or box to highlight some part of a slide. In reveal-hugo, it’s equivalent to positioning layered images in HTML and CSS, which is quite a bit harder and more tedious.

unDraw ๐Ÿ”—︎

I always felt like other indie projects had such slick stock imagery, but I wasn’t sure if they were buying it or if it came from some template I didn’t know about. It turns out that most of what I was seeing came from unDraw, a collection of openly-licensed illustrations by Katerina Limpitsouni. If you need free illustrations for a new product, I recommend checking out unDraw.

Screenshot of unDraw website

unDraw is an open collection of illustrations that you can use in any project.

Legacy project stats ๐Ÿ”—︎

WanderJest ๐Ÿ”—︎

Metric February 2020 March 2020 Change
Unique Visitors 1,344 246 -1,098 (-82%)
Total Pageviews 4,161 1,382 -2,779 (-67%)
Registered Users 4 10 +6 (+150%)
Affiliate Earnings $0.00 $0.00 0
Scavenger Hunt Earnings $100.00 $0.00 -$100.00 (-100%)
Total Earnings $100.00 $0.00 -$100.00 (-100%)

WanderJest was struggling in the first half of the month. In the second half of the month, visits were basically nil, as every live show was canceled.

Is It Keto ๐Ÿ”—︎

Metric February 2020 March 2020 Change
Unique Visitors 47,698 33,007 -14,691 (-31%)
Total Pageviews 123,288 80,368 -42,920 (-35%)
Domain Rating (Ahrefs) 26.0 26.0 0
AdSense Earnings $286.95 $195.85 -$91.10 (-32%)
Amazon Affiliate Earnings $395.67 $166.43 -$229.24 (-58%)
Total Earnings $682.62 $362.28 -$320.34 (-47%)

Is It Keto took a big hit this month after a strong start to the year. I suppose people are not that interested in diets when there’s a global pandemic raging on.

Zestful ๐Ÿ”—︎

Metric February 2020 March 2020 Change
Unique Visitors 877 291 -586 (-67%)
Total Pageviews 2,578 843 -1,735 (-67%)
RapidAPI Earnings $2.27 $3.67 +$1.40 (+62%)
Total Earnings $2.27 $3.67 +$1.40 (+62%)

Zestful remains quiet with a handful of occasional pay-as-you-go users.

My one enterprise client was up for a plan renewal in early March, but they decided to cancel. I anticipated that because, from the beginning, they needed the high-tier plan so they could process their existing corpus of ingredients, and their ongoing needs wouldn’t be as significant. When they canceled, I asked if there was anything they felt was missing from Zestful or needed improvement, but they never responded.

Wrap up ๐Ÿ”—︎

What got done? ๐Ÿ”—︎

Lessons learned ๐Ÿ”—︎

  • Promotional cards need to be as self-explanatory as possible
    • The cards I printed said, “Win fabulous cash prizes," but I think it would have been better to say something more specific like, “Every photo enters you into a drawing to win the $200 cash prize.”
    • I shouldn’t have relied on users to visit the website to learn the specifics.
  • When you advertise on physical media like cards or flyers, use unique URLs for each type of media to track engagement.
    • I discovered this by mistake.
    • The URL for the scavenger hunt was wanderjest.com/scavenger-hunt, so I created the alias wanderjest.com/hunt to save space on printed flyers.
    • I later realized the unique URL allowed me to see how many people visited the URL from the flyer and track the flyer’s effectiveness (or lack thereof).

Goals for next month ๐Ÿ”—︎

  • Conduct five customer interviews for the portfolio rebalancer.
  • Implement customer payments for the portfolio rebalancer and either hide or limit the free version.
  • Publish one new blog post.