I use a great service called Headway to keep Preceden users informed about updates to the product.
Headway provides a widget I have installed on Preceden to let users know when there have been updates With it, users will see a bell with a count of unread items (which Headway keeps track of in local storage):
That bell, when clicked, expands into a list of updates:
And those snippets expand into longer posts:
I’m pretty good about sharing big product updates with users on Headway, but recently 90% of my day to day work is making small, incremental improvements to the site, or things that are not very interesting to users like marketing projects.
This causes a perception problem though, because often times weeks go by when users don’t see me sharing any updates, and they can interpret that to mean we’re not working. Especially when you combine that with inactivity on a public list of user requested features like Preceden has (most of which are low priority for me), and it’s easy to imagine Preceden is in maintenance mode.
A customer wrote in recently asking about this:
Hi, we’re a large organisation using Preceden and are considering shifting all activities away from the tool due to the slow pace of continuous improvement.
I’m interested to understand – is the tool still being improved, or is it just business as usual support now?
The publicly visible roadmap shows no work in progress.
I thanked the customer for the feedback and explained the situation and he was very understanding. We also jumped on a call and I got a lot of great suggestions from him and his team. But it was a wake-up call that I needed to do better about communicating what we’re working on, even if it’s not user-facing feature work. And also to ensure I’m rolling out a steady stream of product improvements, and not focusing on backend and marketing type work for long periods of time (which is funny, because for years I did focus almost entirely on product work, almost certainly too much).
A quick aside: I previously sent out monthly email updates to customers detailing the product improvements we shipped that month, but as my focus has shifted away from mainly feature work and more to the other type of work required to run and grow a SaaS business, the frequency and number of big feature updates I could share declined, making those monthly email updates harder to write, and I eventually abandoned it. Might be something to revisit down the road though.
Anyway, to address the immediate problem, going forward on the last weekday of each month I’m going to share an update listing the smaller projects we worked on that month. It doesn’t take much time to write, and I imagine a lot of users will find it interesting, even if the updates don’t necessarilly impact their usage of Preceden.
Here’s the first one that lists what we worked on in September:
Probably should have been doing this all along. Lesson learned.
There was a great discussion on Twitter recently that began with Daniel Vassallo calling out a SaaS for not refunding an accidental annual payment he made on their service. He intended to purchase the monthly plan, but due to an unclear UI and poor copy, he unintentionally purchased the annual plan, and the business refused to refund it.
One of the responses to his tweet which I loved was “monthly billed annually is cursed copy”:
To give some background on the issue here, let me tell a quick story…
A very profitable A/B test
I used to work at Automattic, where I was as a developer on the business and marketing side of WordPress.com. For many years, WordPress.com only offered annual plans and their pricing page displayed those annual prices:
WordPress.com’s plans and pricing page circa April 2016
In the spring of 2016 Catherine Stewart, Automattic’s savvy Chief Business Officer, suggested we test displaying those prices as their monthly equivalents and see how it impacted new revenue. For example, instead of displaying “$99 per year”, we would display “$8.25 per month, billed yearly”. We would still charge users the full $99 and give them access to that plan for a year, but our plans and pricing page would display the lower monthly equivalent:
I implemented and A/B test and we let it run for a few weeks. The results? About a 10% increase in $/visitor to the pricing page (which is a better metric that $/customer or conversion rate alone, since it takes into account what % of visitors go onto pay, and how much they pay, though not refunds).
At WordPress.com’s scale, making 10% more per person who saw that page translated into a ton of additional revenue for the business.
Why it works
When people see “$8.25 per month billed yearly” people tend to perceive it as cheaper than “$99 per year”, so more people wind up buying.
At least that’s the hope. If you’re not careful though, you’ll get a lot of people paying annually who think they’re paying monthly.
Design matters
The problem that’s easy to run into is if you don’t have a great UI with clear copy, you’re going to get a lot of very frustrated customers who mistakenly purchase the annual plan.
Done well, customers will understand they are paying the $99 (or whatever it is for your SaaS) for a full year. Done poorly though, people will think they’re paying $8.25 for a month of access, and feel tricked when they eventually realize they actually paid $99 for a full year.
Here’s what the pricing looked like Daniel accidentally made his annual purchase:
Luma’s purchase workflow is very misleading too. You get told the monthly price, but it doesn’t say what you’re going to get billed. The annual “tab” is easy to miss. Once I clicked upgrade I received a stripe invoice of $708! No opportunity to verify. pic.twitter.com/dca59CYhVG
As he noted in his tweet, that “Annual” toggle is very easy to miss. And unlike WordPress.com, this just says “$59 per month”, not “$59 per month billed annually”.
It’s an easy mistake to make
When I introduced monthly plans on Preceden (my SaaS timeline maker) a few years ago, I made the same mistake and it resulted in a lot of accidental annual purchases.
The plans default to annual pricing and displays monthly amounts billed annually:
All good here I think.
The problem was with the next step, the payment form, which looked something like this:
It did say “Subtotal: $120” but it was easy to miss, and a lot of people did, resulting in support requests like these:
I always gave refunds, but it was clear that a lot of people were accidentally purchasing the annual plan, thinking they were paying monthly.
I don’t remember exactly how I stumbled across it, but I saw a screenshot of some SaaS’s pricing form that inspired a few changes to Preceden’s payment form.
Here’s the current design with those changes:
Two things to highlight:
There’s a toggle to switch between annual and monthly directly on the payment form, making it super clear they have chosen annual and giving them an easy way to switch to monthly.
The prominent “Billed Today” line immediately before the CTA including the full amount they will be paying.
After I made this change, the number of refund requests for accidental annual purchases dropped to zero and I felt a lot more confident that the people who were purchasing annually were doing it intentionally.
As for the SaaS that Daniel purchased from, they redesigned their pricing and wound up in a very similar place (though unlike Preceden, they don’t offer refunds):
One area for improvement might be for Preceden to display the annual amount in the interval toggle. Currently it displays “$10/month” (consistent with the pricing displayed on the plans in the prior step, and making it easier to understand the savings IMO), whereas with this SaaS, they are displaying the full annual price there ($708/year). I think because Preceden displays the “Billed Today” line with the full annual price below it, the way I’ve done it is fine (also given no refund requests anymore due to accidental annual payments), but I’m also open to changing it if anyone wants to make an argument that displaying “$120/year” there is better than “$10/month”.
Regardless, whatever you do for your SaaS, make sure it’s abundantly clear to users what they’ll be paying, and lean towards generously refunding purchases unless there’s a strong reason not to. You definitely don’t want to be on the receiving end of a viral tweet about your SaaS’s deceptive pricing. And even if you manage to avoid that, you should always do right by your customers which includes making it abundantly clear to them what they’re paying for your service.
Emergent Mind, my AI news site that I’ve wavered on for months
A few months ago I announced I was going to try to sell Emergent Mind, my AI news aggregator, so I could focus on Preceden, my SaaS timeline maker.
I wound up having a lot of discussions with potential buyers, but in the end the offers I received were either too low to be worth the effort ($1k-$5k), or the offers were solid ($10k, $11k) but fell through during due diligence because of Emergent Mind’s lackluster growth.
That left me with a tough decision: keep it and continue trying to sell it, keep it and stop trying to sell it, or shut it down.
Me, explaining to potential buyers why they should take over Emergent Mind
There’s some chance that I could have kept up the sale page and eventually sold it for $10k, which is the minimum I was looking to sell it for. But, I’ve become increasingly skeptical that I could have found a buyer for $10k.
A big hurdle is that in order for a someone to take it over, they need to be a Ruby on Rails developer, or be willing to pay one to continue the development work. Ruby on Rails developers are in short supply, and most individual developers are not in a position where they can justify forking over $10k for a product with mediocre metrics (more on that below) that would likely require a lot of marketing work to grow (and most Ruby on Rails developers, myself included, would rather be coding than marketing). I did chat with one agency that had Ruby on Rails developers (who would have used it in part to promote their business), but that presented other challenges: multiple people in the organization had to be convinced it was worth $10k and worth reprioritizing their limited resources to work on it. Easier said than done.
And why not do the deal for like $5k? It probably would have taken 30 hours of work to complete the deal once I factored in the paperwork, account transfers, training, Zoom calls, emails, inevitable issues, etc, and I felt my time was much better spent focusing on Preceden vs going through all that for $5k, even less once you factored in the ~25% taxes I’d have to pay on that amount. And that’s assuming I skipped hiring a lawyer (which can easily cost a few thousand dollars) and just used some boilerplate legal templates I found online, which comes with its own risks.
So, I probably wouldn’t be able to sell it for $10k, and didn’t want to bother for less than that.
Reasons to just shut it down
There are plenty:
Visitors and subscribers have mostly trended down and to the right
Here’s weekly unique visitors to the site since launching last December:
But wait, you say, look at those spikes recently! Problem is that they’re entirely due to a single ChatGPT hallucination example going viral. The real trend is that gradual decline between April and early August where each week fewer and fewer people visit the site.
And it makes sense too. I haven’t done any marketing for the site in months, and AI hype has dissipated somewhat since its peak earlier this year in the months after ChatGPT launched.
New newsletters subscribers is a better representation:
You can understand why when buyers started diving into things, they were understandably hesitant to fork over $10k+ for the site.
Questionable product/market fit
Don’t get me wrong, some people really liked it.
There are about 700 people who opt to receive the email daily, and another 200 or so that opt to read it weekly, for a total of about 900 active subscribers. The emails have about a 75% open rate and a 30% click-through rate, which I’m told are stellar.
Here’s what the email looks like:
And when I announced I was selling it and potentially shutting it down, I got a number of emails like this:
Thank you very much for your work on Emergent Mind. As an AI hobbyist with a IT background, I am looking forward to reading your email every morning.
But, my impression is that it is a nice to have for most people. There was a bug a few months ago that took the newsletter down for a few days and no one wrote in about the email not going out. Almost no one sent in suggestions for how to improve it. Very few people shared it with others. Very few people have mentioned it on social media during its time running.
Competition is fierce
And there are no shortages of AI news resources, many of which are run by highly competent individuals or teams. Matt Wolfe and Ben Tossell come to mind, but there are countless others. Their work is incredibly well done, and Emergent Mind with its short news summaries pales in comparison (though of course there are many ways to consume news, and Emergent Mind may be a better fit for some types of people).
Poor founder/product fit
I like building tools. Preceden, my other product, is a tool, and pretty much everything else I’ve built and stuck with is a tool of some kind.
Emergent Mind is a… news site. I really enjoyed automating the news aggregation and summaries, as well as building the daily newsletter. Pretty sure it was the first automated newsletter entirely written by GPT.
But I don’t try to stay on top of the news much. Not national news, not AI news. I check the Emergent Mind newsletter periodically, but am just not that passionate about reading or being a source of AI news.
But lets say I wanted to stick with it. Now what? Is this website and newsletter what Emergent Mind is and now I have to market it and grow it into a real business? That sounds like a lot of (not enjoyable) work to me. I could partner with someone who enjoys that side of things, but even that would require a lot of work. Which brings me to the biggest reason to shut it down…
I should focus my time and attention on my other product
My other product, Preceden, is doing well. Not sail-into-the-sunset well, but well enough that I’m able to work on it full time and it can support my family financially with some buffer. And I’ve got a long, long list of projects that I’m really excited about to improve the product, market it better, and grow the business. Every minute I spent thinking about or working on Emergent Mind is one less minute I’m spending on my actual business.
Why split my time at all with another product, especially one I’m not that excited about taking to the next level?
I’ve told everyone I’m selling it/shutting it down
I’ve publicly gone back and forth on Emergent Mind’s future several times before, and the thought of writing this blog post where I justify doing it again was not very appealing to me.
But, avoiding a few eye-rolls should not be a factor in my decision-making process.
Why keep it
For most of the last few months, the “sell it or shut it down” route made the most sense to me. But, after a lot of reflection, I realized I was looking at it the wrong way.
The curse of inflated expectations
I made big mistake early on in the course of building Emergent Mind: I expected too much of it, and myself really. Rather than be some fun little side project (which I’ve had a ton of over the years), I saw it as an ambitious startup that had the potential to see meteoric growth and become the top AI news source. I told everyone I knew how big it would be, formed a Delaware LLC (to make converting it into a Delaware C Corp easier if I choose to raise money), spent $760 chatting with an IP lawyer for an hour to avoid getting myself in trouble with the direction I was going, and even thought about putting Preceden on the back-burner to focus 100% on Emergent Mind.
But then reality set in, and I realized how much work would be required to achieve those goals. There’s only so much time in the day, and faced with the prospect of trying to build/market/run two products by myself or focus on just one, I convinced myself to end Emergent Mind because I wouldn’t be able to achieve those initial ambitions.
It’s a false dichotomy though. It took me a long time to realize, but I don’t have to choose between shutting it down and devoting 50% of my time to growing it into an AI news juggernaut. I could work on it one day a month. Hell, I don’t actually have to work on it at all. I could make some tweaks to get the costs down and put it on the back-burner for 2 months or 2 years. It can be a small site with a small audience and that is completely okay.
And while it’s true that I’m super focused on Preceden right now and probably will be for the foreseeable future, my past indicates there’s a strong chance I may want to take a break and work on something else in the future. I will hopefully be in this full-time indie-hacker mode for years to come, and it’s unlikely Preceden will be the only thing I work on for the rest of my career.
I also have a ton of interesting ideas and potential directions for Emergent Mind that I may want to devote some time to in the future, not because I think they will change its growth (though maybe), but because they seem fun to work on. For example, how could I change the newsletter to make it appealing and informative to someone like myself who is only casually following the latest AI developments? How can I surface big picture trends, and not just list summaries of yesterday’s news items? I have some ideas.
And that’s what Emergent Mind should have been all along: a small side project that I can work on when I want to work on it, with no pressure to grow it into something larger.
And lets not forget: there are those 900 active subscribers with a 75% daily open rate. There are a lot of people getting value from the site, and while it may never be a top-3 AI news source with hundreds of thousands of readers, I should be (am am!) thrilled that it has as many readers as it does, and its a privilege to be serving them.
Also, I can likely get the costs down to something like $150/month, which is really not bad. If it was costing me $500/month, there would be a much stronger argument for pulling the plug, but for $150/month, it makes sense to keep it going and keep my options open.
What’s next
I’m going to put Emergent Mind on the back-burner for the foreseeable future. When I’m feeling inspired to work on it, I will, but am not going to put any pressure on myself to grow it by taking on large product and marketing initiatives that I’m not excited about.
Maybe it sits on that back-burner for months or years and continues its gradual decline. Maybe I get a meaningful offer one day and do sell it. Maybe in a year I announce I’m shutting it down and get a few more eye-rolls. Or maybe with some small product, marketing, and monetization projects I’m able to turn things around, and gradually want to spend more and more of my time on it.
Switched from radio buttons to this new UI (the previous design was inspired by Help Scout’s pricing page which uses radio buttons)
Revamped many of the colors including the font colors, check marks, and buttons.
Increased the font size a bit, which forced me to rework the feature descriptions to ensure they all fit on a single line. For example, “Create timelines with up to 10 events” became “Create unlimited timelines” and “Add 10 events per timeline”; “Export to PDF, PowerPoint, and more” became “Export to PDF, PPTX, and more” (hah).
Very happy with how it turned out.
Kudus to Milan for suggesting we work on it and for the fantastic design work.
The process
In the past, implementing a redesign like this would have gone something like this:
Milan designs it in Figma
We discuss over Slack and he iterates
When it’s in good shape, either he implements it in Preceden or I do depending on what else we have on our plate
This time, at his suggestion, we tried a different approach since he prefers mostly doing mockup work in Figma (and not implementing his designs in the Rails app) and it’s not a great use of my time converting his Figma mockups to HTML/Tailwind either.
Here’s what we did instead:
After Milan designed the new pricing page in Figma and we iterated on that mockup in Slack, we hired Design2Tailwind, a small team that specializes in Figma to Tailwind conversion.
This initially required me filling out a form detailing the work we wanted done:
Vivian, the founder, sent me a few questions over email to understand the scope: would it require interactivity? Responsiveness? Can we provide the Tailwind config file?
In the end, she quoted me $150 for the project.
I invited her to our Slack group, where we discussed a few small things along the way, and they she shared their v1 implementation:
A few small tweaks later and we had the delivery for their piece of the project:
Integrating this into the Rails app took a few more days of work on my end since the pricing page (and in-app upgrade dialog which shares the same design) is dynamically generated based on the user’s current plan, the plans they can upgrade to, the features on those plans, etc:
Outsourcing the initial HTML/Tailwind implementation was a great decision though, and one we’ll surely do again for any non-trivial design projects. It let Milan focus on the mockup work which he really enjoys, and me focus on other projects that were better use of my time.