Jacob O'Bryant
Home · Archive
Return of the Biff
8 February 2022

My experiment of sharing good articles I’ve read weekly hasn’t really worked since I still don’t actually read articles very consistently. New experiment: I’ll send this out once or twice a month and just give some quick updates about stuff I’ve been working on. I do actually work sometimes, so this should be a piece of cake.

The Sample (https://thesample.ai/)

Several exciting things happened last month. We started out with a bang when one of our publishers told me he was having trouble importing his subscribers into Substack. Long story short, when Substack says “you own your list,” they mean “you own your list with an asterisk,” and the asterisk part means that in certain situations they will block you from importing subscribers.

Here’s what happened. By default we use a “mechanical turk” approach to integrating with newsletter platforms: when someone subscribes to a newsletter from within The Sample, I go to the newsletter’s signup page and paste in the person’s address manually. (In case you’re wondering, why yes, I am very tired of filling out captchas). Usually, Substack does not use “double opt-in,” i.e. as soon as you hit the “subscribe” button, you’re on the list—no need to go click a confirmation link in an email. However, Substack will sometimes silently send a confirmation email if the signup looks fishy. Evidently ~50 Substack signups per day coming from the same IP address looked fishy, because in mid-Decemberish these confirmation emails started getting triggered a lot.

The kicker here is that if someone receives a confirmation email and doesn’t click the link, then Substack puts them on a block list for your newsletter. If you try to import them via a CSV file, they’ll be skipped. So Substack users who joined The Sample were in a situation where some of their subscribers—some of whom they got from us via paid promotion!—never made it on to their list, with no way to fix it.

So that took most of a week for me to clean up. Fortunately most people were unaffected and I only ended up refunding $200 or so.

Other than that, I’ve added a bunch of integrations for newsletter platforms that actually have APIs (unlike Substack), and starting tomorrow I’ll be making a handful of changes to the product which I hope will boost retention.

We’ve also been continuing to mess around with Facebook ads, and things are (finally) looking great. Our cohort of Facebook leads from last week costed $1.45 per signup on average, and the revenue per user for the previous week is already up to $1.44. If we keep getting numbers like those for future cohorts, we can start dumping all the money we can into Facebook ads.

We also took a team photo.

Biff (https://biff.findka.com/)

Biff is my Clojure web framework which I first released almost two years ago, and upon which The Sample is built. I do a big release for it about every 8-12 months, but other than that I haven’t spent much time on trying to get more people to use it because I’ve been mainly focused on my own business.

However that has felt like a bit of a shame since I think Biff has, in my humble opinion, the potential to have a large impact on the Clojure community. There are various other potential benefits too; in general, it’s felt like a very “important but not urgent” category of project. Now that the business is almost beginning to stand on its own wobbly two feet, I’ve started to spend Fridays + some time over the weekend working on it. I’m partway through another big release, and going forward I’m planning to continue spending a day or so on it per week. (I’ve got some dank not-yet-public announcements to make about this soon).

Parenting

Our daughter is over a year old now. She can walk while hardly ever falling down. Sometimes she goes into our room and plays peek-a-boo by opening and closing the door while we stand in the hallway. She likes to eat toast with avocado on it.

Recommendations

I don't write this newsletter anymore but am too lazy to disable this signup form. Subscribe over at tfos.co instead.