In our recent experiment that pitted a free-trial timeline page vs. a long-form feature/benefit page (linked below), a core part of the test was notifying users that their trials were going to end in two days. This took some thought to plan out, but ultimately, it wasn't…
When we launched our Pro subscription plan a year ago, we started with a very basic short-form pricing page. It had a checklist of features, a monthly…
I used to be jealous of kids that had it all figured out. You know the ones I'm talking about - those annoying friends that somehow knew they wanted to…
One of my (unfortunately) common observations I often complain about to my partner is that Nobody Thinks™. It's not so much an insult leveled at others…
💡 Update: Firebase Analytics' Flutter plugin now exposes firebaseAppInstanceId. PR here. RevenueCat's latest integration with Firebase significantly…
It’s now been nearly six years since I switched from typing in QWERTY to typing in Colemak. QWERTY is the layout that all keyboards today follow - from…
Before building out the above terms of service and privacy policy widget, I hadn't delved much into Flutter's RichText class. Figuring out how to add…
My friend @bryandubno noticed that Clearful's latest release (featuring FaceID/TouchID) didn't implement a blocking view when multitasking (so the app's…
See all

Jeffrey’s Newsletter