July 2021: Retrospective & Income Report

July Total Revenue: $171

The only revenue source for me is through the subscriptions for MDX.one. This month was brutal when compared with the last month. I only got 1 new subscription (yearly) for the whole month of July.
$90 (old subscriptions) + $81 (new subscriptions)

July Total Expenses: -$612

I need to cut down on expenses. $612 is relatively high for my usual standards.
  • Lifetime Deals(-$190): ilo (-$140), Basch(-$50)
  • New Courses (-$97)

July Net Profit: -$441

What happened in June

 
notion image

Launched MDX.one

I finally launched MDX.one on June 21st on Twitter. The launch tweet did very well. When I checked it just now, it has around 75k impressions and 1k link clicks which is pretty good when compared with my usual tweets.

✅ Ended the month with 19 new subscriptions and $141 MRR

I started getting new subscriptions even before I officially launched the site. Some people have figured out that the website is already live and started creating their blogs with it. So, by the time I officially launched it, I already have 3 yearly subscribers + 2 monthly subscribers and the MRR was already at $35.
MDX.one already has $35 MRR before even I officially launched it.
MDX.one already has $35 MRR before even I officially launched it.
Ended the June with $141 MRR
Ended the June with $141 MRR
At the end of May, I hoped and set the goal to get at least one paying customer in June. I am more than happy with how it turned out. I got a total of 19 paying customers by the end of month June, and the MRR has reached $141.

Other highlights of June

Tweets (Click to open it)
 
  • 275+ users signed up, 100+ blogs created and 800+ emails processed.
  • MDX.one was mentioned in a Korean newsletter.
    • Got my first Korean customer as a result of that.
    • Added support for other language URLs.
  • Got an acquisition offer for MDX.one for ~$10K. Although the amount was comparatively low, it felt really good and gave me the confidence that I am heading in the right direction.
  • Got an email from a VC firm to schedule a call and discuss MDX.one.
  • Shipped some new features after launch.
    • Automatic RSS Feed
    • Automatic Sitemap
  • Analytics for June since launch.
June analytics since the launch on 21st June.
June analytics since the launch on 21st June.

What happened in July

July was pretty brutal when compared with June.
June MRR Movements
June MRR Movements
July MRR Movements
July MRR Movements

Got my first cancellation

They did not require and hence not using any of the premium features. So, I guess that cancellation is bound to happen.

Another person asked me to pause their subscription.

Not sure if they are going to resume the subscription anytime soon.

A user paid back the refund.

A user to whom I refunded the subscription earlier in June asked me to charge their card after the improvements I made.

Got a new yearly subscription.

They have not started using the product yet. They just explored the product for a bit.

Got a new monthly subscription.

But they were not satisfied with the product and are going to cancel by the end of the month.

🕝 Gave 30 days free trial to a user.

Right now, I don't have the trial option, so I just asked them to subscribe to the monthly plan and refunded them afterward. Still waiting to see if they will end up using the product or not.
So, if we are speaking practically, the new MRR that I got this month is only $6 from the one yearly subscription I got, which is pretty less when we compared it to June.
MRR at the end of July
MRR at the end of July
I have heard from many of the SaaS founders that it is common for this to happen in the months of July and August. This is my first time running a SaaS, so I am not sure if that is true or not. I will have to wait and see for myself.

Number of visitors went down

Analytics in June since launch (10 days)
Analytics in June since launch (10 days)
The number of visitors in the whole month of July is less than the visitors I got in the last 10 days of June.
Analytics in July (31 days)
Analytics in July (31 days)

Tried out Splitbee

This month, I discovered and started using Splitbee. I really like the product very much. I still haven't tried some of the features that it offers yet. Going to try it out this month.
The only feature that I have tried is creating funnels.
Users signing up after visiting the home page
92% of the users who visited the landing page did not sign up.
92% of the users who visited the landing page did not sign up.
I am not sure about the usual conversion rate, but this seems like it's very low, especially considering that I have a free plan.
notion image
The majority of users that are visiting the site are from Twitter because I am building in public. So, it might just be that the users who are visiting the site just came to see what the product is about, and are not looking to buy it.
Regardless of that, I am revamping the landing page and will see if that changes anything. I also have to explore other distribution channels and not rely completely on Twitter.

Users successfully creating a blog after starting the process of creating a blog.
notion image
Around 60% of the users end up not creating the blog after starting the process. Again, there might be some false negatives here, where people just exploring the site, and not actually intending to create a blog.
The next funnel gives a better idea of how many are facing problems while creating a blog.

Users who end up successfully creating a blog after submitting the form to create a blog.
notion image
26% of users are facing problems with the blog creation flow.
notion image
They tried to submit the blog creation form, but faced some problems and abandoned the flow after that. This is something that I need to fix. Maybe adding a link to a demo video might help. Will have to try and see.

notion image
This is the entire funnel.
  • Users visited the dashboard
  • 29% of those users who visited the dashboard, dropped off and did not try to create a blog.
  • 45% of those users who started the blog creation flow, dropped off and did not submit the form.
  • 28% of the users who submitted the form ended up facing some problems with it and abandoned the process.
So, overall only 28% of the users who signed up created the blog. There is still a lot of opportunities here for me to help those remaining users take their first meaningful action and experience the aha moment.
I will try to dig into this more and see if I can make any improvements.

Problems with the official Notion API

At the start of the month, I faced some problems with the official Notion API. After going back and forth many times with the Notion API team, my issues were still not resolved. So, I decided to not rely on the official API.
notion image
I completely revamped the onboarding flow and made it even easier to onboard new users. Now, all you have to do to create a blog is:
  1. Duplicate our template and make it public.
  1. Enter the public URL of the Notion page that you just created.
  1. Choose a unique subdomain for your blog.
That's it. Your blog will be created after that.
The positive side of this flow is I get to remove so much of my internal code. The negative side is I started relying completely on the unofficial and unstable private API.

🚢 Create Secret Pages (Not indexed by Search Engines)

Added a feature to mark some pages to not be indexed by Google. The primary use-case of where I am using this feature myself is as a sandbox. If you just want to have some sandbox page where you can experiment with different Notion blocks and see how they appear on the blog. These pages will not be indexed by search engines. They will not be added to the sitemap. They will also not appear in the navbar or the footer.
This feature also gives me a base to add password protection to some of the pages in the future.

🚢 Updated the Notion template to make it more intuitive

Previously, the Notion template that I was using just has 3 tables. I rearranged the template to make it more intuitive to use. Since I am using Notion only as a headless CMS, it doesn't matter how I structure different databases. The only thing that matters is that there are 3 databases – Blog, Settings, and Pages.

🚢 Assign Categories/Tags to Articles

A blogging platform is not complete without the tags/categories functionality. Some of the users have already asked me for this functionality. Now you can assign categories to your articles. For every new category, a category page will automatically be created.

✅ Someone created the 150th blog

MDX.one crossed the milestone of successfully hosting 150 blogs. (Jul 7, 2021)
Since then I purged more than 50 inactive blogs which are not even set up properly. Now, the total count of blogs is 148. I haven't done the calculations, but I am sure that more than 100 of these blogs have not been used even once. They were just created and abandoned.

✅ Migrated my own personal blog to MDX.one

Even though I have my own custom personal website at bhanuteja.dev and a blog on Hashnode at blog.bhanuteja.dev, I decided to move everything to a single site and also use MDX.one to power it.

MDX.one is featured in NoCodeDev's Newsletter

🚢 Multiple Blogs under the same account

Now each account can have multiple blogs under it. Even though we can add multiple blogs, only one blog can be active at a time. In the future, I will be adding higher pricing plans where the users can have multiple active blogs. This feature acts as a base for that.
notion image

🚢 Automatically Add Related Posts

When I was migrating my own personal blog to MDX.one, I came across a pattern.
notion image
notion image
At the end of every article, I was recommending to the users a bunch of other related articles that the users may like to read. So, I thought to make this process automatic. Now, users can directly select the related posts from their Notion page, and they will show up at the end of the article.
notion image

🚢 Added a Search functionality

Created a search interface where you can do a basic search through the blog. It tries to match the articles, pages, and categories. It also highlights what part is matched.
This feature is really useful when you have a lot of blog posts like me. One of my users has around 79 articles in their blog, which is crazy high. This feature will be very useful if you want to search for an article in their blog. I will try to improve the search algorithm in the future. Right now, it's just a simple substring match.
notion image

🚢 Added a Showcase section to the website

I handpicked some of the active blogs and create a page showcasing all of these blogs. This way, people will have a better idea of all the things that are possible with MDX.one.

🚢 Added Pagination

Made it super simple to add pagination to the blogs. All the users have to do is set the page size, the pagination will then be enabled automatically.

✍️ Started Writing Help Docs

Started adding help guides to the MDX.one blog at blog.mdx.one.
 

🤝 Sponsored NoCodeAsia 🔥

Plans for August

Most of July has been spent on building new features. I did not spend any time on marketing. In fact, I don't even think 10% of the users know what new features are there.
I am planning to spend most of August on marketing. I don't even know how to do marketing. But I have a few ideas of what I am going to do.
  1. Will start doing automated email campaigns for users at various stages.
  1. Will write more articles/guides explaining different features of MDX.one
  1. Revamp the landing page and create a separate marketing website.
    1. Will move the dashboard and actual user-related pages to app.mdx.one
  1. Write posts in the format of (A vs B), x alternatives to y, etc., and build more SEO content.
  1. Will experiment with creating different landing pages for different types of users. Some programmatic SEO.
  1. Will create some automated emails based on triggers(pretty straight-forward to do with Splitbee) like:
    1. Welcome email when the user signs up
    2. When the user faces problems creating a blog
    3. When the user successfully creates a blog
    4. When the user's blog gets a first visitor
  1. Will add some higher-priced plans for heavy users and businesses.
    1. Will also allow a free trial for 14 days for all of the plans. Right now, there is no way for users to try out all the features, other than actually paying and subscribing to a plan.
  1. Will also be doing a presale for a course that I will be creating.
 
MRR goal for the month of August: $500
It's pretty high especially when you look at how July went. I would have to get around $90 MRR every week 😮 which might be impossible. But I want to give it a serious shot and see.
 

You might also like

May 2021: Retrospective & Income Report

May 2021: Retrospective & Income Report

Things I got done, the amount I spent and earned during May.

My 2020 Blogging Journey

My 2020 Blogging Journey

I wrote 27 technical articles since Aug 2021, when I started blogging. Most of them are about frontend web development.

This blog is built with MDX.one

Write on your Notion, and see it live instantly on your blog.

Create your blog for free