One-Line SummaryI'm safe and healthy, but my businesses have taken a tumble.
- 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.
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.
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.
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.
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:
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%:
Finally, I realized the more intuitive behavior is to just auto-adjust the slider you touched least recently:
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.
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.
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.
Legacy project stats
|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%)|
|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.
|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.
|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.
What got done?
- Created a minimum viable product of the Portfolio Rebalancer.
- Presented my talk at NERD Summit: “How I Used Python to Steal Money."
- There’s a recording, but the audio quality is pretty bad.
- Updated my blog newsletter so that subscribers can choose what type of updates to receive.
- If you’re on my mailing list, you’ll see a link at the bottom of each email.
- 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.
Be the first to know when I post cool stuff
Subscribe to get my latest posts by email.
Thanks for signing up! Check your email to confirm your subscription.
Whoops, we weren't able to process your signup.