It’s been 7 months since I posted an update on Indie Hackers. I thought it was time to get back to it.
Before I talk about what happened and what’s happening, I want to update you with some stats. Right now, MDX.one has around 989 users(29 paying), and has around $211 MRR.
Here’s what happened.
I got a bill of around $1.8k from Vercel. There is no way I would be able to afford to pay that much every month... and the bill is only going to increase as more and more users start using the platform. So, I had to close off new signups and think hard about how to proceed.
So, I closed off signups and tried to talk with the Vercel team to see if there is something I can do with my code to reduce the costs. I tried many things and nothing seemed to make any significant difference. I never thought I would hope for customers to churn, but during this time, I was getting happy when customers cancel their subscriptions because that would mean that I pay less to Vercel. I realized that Vercel is super expensive once you reach a certain scale. So, I started looking for alternatives.
Unfortunately, there aren’t any alternatives that can deploy Next.js as well as Vercel. Some of the features like ISR won’t work unless you use Vercel, and that is the thing that is costing me so much. This isn’t some problem that only I face. There are many indie hackers who faced this from Vercel.
Anyways, I later started moving everything to Cloudflare-related tech. I spent the next few months, only trying to reduce the costs. I was finally able to reduce the usage so much that I had to only pay the base $20/month to Vercel.
You can see the progression below.

There was a time when I used to get around 15,000 HB-Hrs (which in Vercel terms is equivalent to $7.7k)

There was a time when my bandwidth was around 5.6 TB (which is equivalent to $2.5k in Vercel terms)
So, if Vercel would have charged me at that time, my monthly bill would have been more than $10k.
After I started migrating all the duration-heavy API calls to Cloudflare Workers, my Vercel usage has gone down quite a bit. In Feb of this year, my bandwidth was about 83 GB and Execution is about 360 GB-Hours.
I thought this is a really good thing and decided to productize this into a new product in the hopes that other people can make use of my solution if they ever want to use Notion as a CMS for their SaaS products. That’s how https://usenotioncms.com was born. Right now, this has only one customer and he has been paying $29/month.
After seeing all this, I wanted to rebrand MDX.one to a completely different brand. The code is a complete rewrite, and so much better than MDX.one in many ways. Also, I never really liked the name MDX.one, it’s confusing and there are a number of things with the same name MDX. So, I started working on the rebrand of MDX.one to Feather...
... and this is where I am at currently. I completed the basic version of Feather 🪶 and also started inviting some users to the private beta. I even put up a simple landing page at https://feather.is, and have around 200 users on the waiting list.
A week ago, I sent a newsletter to the waiting list users asking if anyone would want to try out the private beta, and got a couple of responses. This is the email I sent to them. You will see a couple of screenshots of Feather inside that.


Will try to be more active on IH and start posting updates as I work on this new (rebranded) product Feather 🪶
Small but important change. ISR does work self-hosted, but Vercel adds additional features on top, like instant rollbacks and persisting generated pages to static storage.
(Apparently, ISR does work self-hosted, got this information from Lee from Vercel)
Also, Vercel recently released a new feature called on-demand ISR which could have solved my problems. There is still the problem of knowing when to call this on-demand ISR (Notion doesn't have webhooks yet), but yeah, on-demand ISR can be very helpful in cases like this. When I was migrating everything to Cloudflare Workers, on-demand ISR was not released yet.