How my SaaS made $2,370 in 18 days WITHOUT marketing
DTJatExdQMI — Published on YouTube channel Marc Lou on August 19, 2024, 1:00 PM
Watch VideoSummary
This summary is generated by AI and may contain inaccuracies.
Here is a brief summary of the transcript: The speaker built a Twitter bot 9 days ago to promote his business software Indie Page without having to do marketing himself. The bot already has 700 followers and increased his revenue by 56%. The bot tweets whenever someone receives a payment through Indie Page. It tags the user and links to their startup for exposure. It also tweets weekly and monthly revenue leaderboards to showcase top earners on Indie Page. The speaker used a simple tech stack to build the Twitter bot - Next.js, Vercel, MongoDB, Tailwind CSS. He triggers it using Vercel's cron jobs. To promote the bot, the speaker leveraged his large Twitter following. He would also try to get coverage on platforms like Hacker News and Reddit. Finally, he would partner with Indie Page users to spread the word. Launching the Twitter bot led to a revenue spike for Indie Page. There are now fewer zero-revenue days, showing ongoing traffic and discovery of the app. The speaker attributes this to the bot's tweets exposing Indie Page to new potential users. Key points are using a Twitter bot for marketing a SaaS without doing marketing himself, the simple tech stack to build it, and the resulting revenue growth after launching the bot.
Video Description
The Twitter Revenue Bot: https://x.com/IndiePageApp
---
I was fired everywhere so I built 24 startups.
12 failed, 11 made money, 1 changed my life. Each video on this channel is a little story about my solopreneur journey.
๐ All my startups โ https://www.marclou.com
โก๏ธ Ship your startup in days, not weeks โ https://shipfa.st/
๐ก Everything I know as a solo entrepreneur โ https://marclou.beehiiv.com/
๐ธ Instagram โ https://www.instagram.com/marclouvion/
๐ผ LinkedIn โ https://www.linkedin.com/in/marclouvion/
๐ฆ Twitter โ https://twitter.com/marc_louvion
00:00 - Intro
00:47 - How to find marketing tools
02:12 - Bot features
03:23 - The tech stack
04:18 - The code
07:57 - The Launch
09:16 - How much SaaS revenue?
Transcription
This video transcription is generated by AI and may contain inaccuracies.
I hate marketing but I need to grow my business. So I built this twitter bot nine days ago and it already has 700 followers and it grew the revenue by 56%. So in this video we're going to talk about how I find this marketing tools idea so I can grow my business without having to ever do marketing. I'm also going to show you how that twitter bottle thing work, how I built it, the tech stack and all the good stuff. We're gonna talk about the launch strategy and how I got the word out. And finally we're going to talk about how that little thing is related to a real software business and how much revenue it has generated. I built a software called indie page. Its a link in bio tool for anyone who wants to showcase their portfolio and its mostly targeting entrepreneurs or anyone who is trying to make money on the Internet. Users can connect their stripe account so that they can showcase their revenue. And this for instance is my indie page. Those are the startups I built and the revenue is verified with stripe. There are over 10,000 people registered on the app and the revenue has been doing well. It's been making anywhere from $1000 to $4,000 per month and I believe they'll be much more solo entrepreneurs. So I want to grow that piece of software, but I have a problem. I hate marketing, it feels like work. So I'm trying to find ways to do marketing without doing marketing. It's basically building a tiny tool or a tiny feature that promotes your main application. Since I launched this leaderboard a couple months ago, it's basically a webpage that ranks entrepreneurs based on their revenue and it's been doing pretty well. This is the spike of revenue when I launched the leaderboard. So I'm just trying to reproduce the strategy and launch more free tools and I'm constantly looking for some small features that I can launch and potentially would go viral. And I remember when I started the journey I was motivated by seeing other entrepreneurs making money and sharing it on Twitter. And this is how I got this idea of creating a bot that's going to share entrepreneurs revenue on Twitter in real time. Alright, first let me show you how the product works. So this is the indie page revenue bot and I think I just got reminded that I need to verify the page. But Twitter makes it pretty tricky because I have to purchase a new phone number. There are three actions that the Twitter bot is doing. First, it's going to tweet every time someone receives a payment. It's also going to tag the maker of that startups and add a link to the startup. The goal with this tweet is to give a little extra exposure to the project by adding a link to their website. And hopefully the maker of the project could retweet that, which would also give a little extra exposure for indie page every Monday, the revenue bot is going to tweet the weekly leaderboard. It's going to take all the payments data from last Monday to Sunday, and it's going to aggregate all that and make a beautiful leaderboard just like this. Of course it's going to do the exact same thing at the end of the month. And I coded a little feature so that it pins that tweets at the top of the page. And the goal here is again to give a little bit of extra exposure to some projects as well as gamifying the experience of working hard and trying to make money on the Internet. And just for the record, I added this webpage which has a history of all the tweets that have been made by the bot. Let's talk about the elephant in the room, the tech stack. That's it. That's all I'm using. Joke aside, here it is. I'm using next JS API or route, whatever this is they call it. I have three one for the daily tweets, one for the weekly leaderboard, and one for the monthly leaderboard. And to trigger those API endpoints, I'm using Vercel Chrome Jobs feature, which is super handy and super easy to use. And since I am shipping fast, I am not using typescript and I am using MongoDB for the database. I have a cluster that stores all the payments from stripe as well as the tweets. And since there is a little bit of user interface for the front end like the leaderboard, this is what I use tailwind CSS and Daisy UI. This is a simple UI component library that I use for all my projects and I love it. I never design any mockups or in Figma. I jump straight into the code and I keep iterating until it looks right. Should we talk about the code? Since the Twitter bot needs to have access to some payments and stripe accounts, I added the code directly inside of the indie page code. The first thing I did was to create an account on x developers and since I already had another account, and Twitter will force you to pay dollar 100 a month if you couldn't create a second project. Then I recreated a new accounts. And that's when things got complicated. Because your Twitter developer account is linked to your Twitter account and Twitter will not let you switch between developers accounts. So I had to log out of my current Twitter account, login to my indie page account so that I can finally log into my indie page twitter developer account. Once I get, once I finally got my developer account set up, I created a new project and I just went to keys and token and copy pasted all those secret and bearer tokens and everything inside of the code. So first I've created a library of helper functions for interacting with the Twitter API. So I have my twitter clients and I have a few functions that will convert a big tweet into a thread, for instance. And then there are the three API endpoints. So the first one is the daily tweets, which is simply going to first check if the request is made by my cron job. I only allow Vercel to trigger the cron job. So this is where my app is hosted and Vercel makes it super easy. I just added this code inside of the Vercel JS file. It's going to trigger those three API endpoints, the daily tweet every 3 hours, the monthly deboard once a month, and the weekly the board once a week. That's all I had to do to make this recurring. All right, now back to the daily tweet. So after this little checkup here is going to start executing the function. First is going to find the most recent tweets the bot has been sharing. He's going to find the user id of the person who've been featured so that it does not retweet again the same person over and over. Because there are some guys who are making $1,000 a month and there's some guys who are making $100,000 a month, and I want to make it fair for everyone. So it's tweeting a little bit about everyone. That's why here I'm fetching their most recent payment in stripe, and I'm excluding the recent users who've been featured. And then he's going to find information about that user, the name of the startup, the name of the user, the username, and is going to create this line of text that will be the contents of the tweet to post to the Twitter API. It's very simple with the client, I just need to do Twitterclient v two tweet with the text, and if the tweet went well, I'm going to store that in the database. So I'm not going to retweet that same person over and over. And that's pretty much it for the daily tweets. All right, and now for the monthly and the weekly leaderboard. Those are two separate functions, but the code is very similar. It does the same background check to make sure that it's actually my server who is making the request. Then it's going to do this big aggregate function where it's going to fetch all the startups in the database who have stripe verified payments, it's going to calculate their revenue, and he's going to rank them based on who made the most money. And I cannot really share what's inside of this big function because there's again, some guys behind this camera who are trying to rekt my app and I don't want to make their life easier. And then for each of the top 50 startups, he's going to create one line of text with the name of the person, name of the startups, and how much revenue they made in the past couple days. And since there are over 50 lines of text, and Twitter only allow 280 characters per tweet, I'm using this line of code to split this big chunk of text into a thread. And just like before, I'm using this function to post on Twitter, save the tweet in the database, and if it's the monthly leaderboard, I'm pinning it to the indie page revenue bot Twitter page. Lets talk about marketing and revenue, but first I have to start with this part. I am lucky to have created an audience of over 100,000 people on Twitter. So everything is a little easier for me and I am also a lazy person. So all I did to promote this Twitter bot was to tweet one time and it was enough to get around 300 followers on the tweet. And at the moment its getting around 1020 extra followers per day. So here is what I would do if I had to restart again with zero followers. Okay, number one, I would verify the Twitter page because it's about payment and building trust. It's important to have the checkmark badge and at the moment Twitter is pushing the content of verified accounts, so it's also great to get more exposure. Second, I would try to launch that bot everywhere. Hacker News, indie Hacker Reddit, Twitter product Hunt I would give a shot for every single platform until hopefully one goes viral. And I wrote tutorials about how to get the most out of those platforms in my blog. If you want, there must be a link somewhere below. And finally, I would partner with Powerusers. Users of my software are already making money Online, but who are not retired yet. And I would just have a normal conversation with them, show them the feature, show them what are the benefits, ask them if they have any feedback. And hope that they will spread the word out. All right. And the final part will be about Revenue, I guess. All right, so that's a, that is the Stripe account for this business here. This is the Revenue for this year in total. There was a big spike around May because this is when I launched the Leaderboard. These things that people loved. All right, now I have zoomed in a little bit on the Revenue. These are the last nine days of Revenue. And this is the launch day. And the overall revenue is up by at least 50%. And what I like to see here is there are less zero days. So it means there is some ongoing flow, some ongoing traffic, new people discovering the app every day. And I believe it's because, well, now indie page is discoverable on Twitter. And since it's tagging the makers of the startup that just made money, it somehow brings a little bit of awareness. So more people get to discover indie page. And it's slowly increasing the revenue. But when this video comes out, you can check my indie page. You will see my real time revenue for indie pagency, whether there was a spike or it was a total flop. But I have noticed something. Never ship, never know. Alright, I hope you just ship it.