SaaS Factory Fortnightly Update: Beta Launch
Launched the beta, got a little bit of feedback, and changed the code quite a bit.
Ok, at this point, going to set a cadence of a fortnight. I’ve tried to get it out every week, but I start writing on Monday, get swamped, and it ends up coming out at the end of the week at least. So I’m going to try to reset expectations (for myself at least) and stop beating myself up. So expect these updates every 2-ish weeks. Not set in stone, but a goal to shoot for. Anything faster than that will be called a win.
The Fortnight In Review
Ok, we’ve got a live beta! I had sent out a few beta codes to individuals early last week and had a bunch of errors. Turns out, I didn’t have the right API key configured in the frontend app. The one I used looked similar enough to the right one that I thought it was correct, but not quite. So that wasn’t great. But got that figured out and prepped for more users to get the beta access.
And in typical Leo fashion, I didn’t do things the easy way. Instead, I created a process that would allow me to specify a list of beta users, give them beta codes in the database, and send them all a DM with the instructions and their beta code. Meant I didn’t get the beta codes out until Sunday afternoon, but then they all went out at once, with the exception of 4, where the users didn’t have their DMs open. But I have their names in DMs to myself (my new way of handling errors so I don’t have to go looking at the logs, because they flood with the number of tasks I kick off).
And after a few users started using it, I started seeing some issues. Users didn’t want to wait until their analysis was complete (probably a good thing, because they were erroring out and never “completing”, but they would navigate to the list of users and view the dormant accounts. Did get some really nice feedback on the UI for that page, so that felt nice! Several people mentioned how nice and clean it was, which is what I was going for with it.
So after seeing how users handled the analysis piece, I ended up scrapping the initial approach and redesigning it. I had been using a report type record, where I would kick off the analysis and update the status of the report, but kept hitting issues where it wouldn’t actually finish running. It also wasn’t very fault tolerant, so any issue would completely throw it off.
So I decided to do something differently: I scrapped the report and ended up thinking about things on an individual account analysis level. And I created a table for accounts that had been requested to analyze. Then I gave it an analysis date field.
This actually gave me a really cool advantage as well, because I then linked accounts to it, so I could tell if multiple accounts requested an analysis of the same account, so I could then just iterate through a list. Try it with one account’s keys and if that doesn’t work, try the next user’s keys. If I have a bunch of accounts that request analysis at the same time, this could conceivably offer a way to ignore rate limits. And once I set up the monthly analysis reports, this will definitely be handy, because I’ll be kicking off large numbers of things around the same time. And then I run a query to determine how many accounts that have been requested to be analyzed but don’t have a timestamp yet, and return that to the user. And that gives me a countdown I can display on the analysis page that will show them status.
So that was definitely a usability win.
Biggest problem left to solve: bulk unfollows. I want to give users a way to click a button and unfollow all of the dormant accounts that aren’t protected. The issue: Twitter’s API rate limits (as always!). I can only unfollow 50 accounts in a 15 minute time frame, so I need to set it up in a way that can run for longer time periods and then send a notification to the user once it’s complete. Or alternatively, giving them the impression that it happened instantly, with messaging in case of error. I’ll probably try something in the first vein, just because if they don’t let it run for a long time and then check their counts, they’ll be surprised when it doesn’t match their expectations. This is the main selling point for the $5/month plan vs the $1, so need to make it a premium experience comparatively. Goal is to have that live this weekend, and shoot for a midweek Product Hunt launch.
Monday marks 3 months since the first issue of the SaaS Factory. So that would be the ideal launch date, but I don’t think I can quite be ready, so I’ll target Wednesday and be happy if I can get the launch out the week of the 25th.
I’m not quite to the point of hitting a new microsaas launched every week (obviously), but I’m making some good progress. I feel really good about the codebase right now and I see a ton of potential products (almost too many!), but the next product won’t take 3 months. In fact, I’ve got less than 1 month. Because I’ve figured out my entry for the Chirp Developer Challenge.
The Chirp Developer Challenge
Ok, so as a quick reminder, the Chirp Developer Challenge is a contest run by Twitter. They’ve got a big conference coming up in November out in San Fransisco, and this is part of the leadup. They’ve got three categories that you can enter in:
Content Discovery
Conversation Safety
Public Good
I’ve had some ideas in the second two categories, but I think my best chance is the Content Discovery category, so that’s the one I’m entering.
Here’s the basic outline of my idea:
Name: Friend Content Bot
Think a chatbot, but on Twitter and used to discover the content that your friends are creating. I’ve realized it’s difficult to keep track of who’s creating what, especially since Twitter suppresses external links. So I want a way that will allow two basic interactions: allow creators to easily register the content they are creating. So here’s the interaction workflow I’ve come up with:
A user wants to register their content. They can tweet “@friend_content add” (or really anything including the word “add”.) The bot will then respond, asking for the type of content they want to add: podcast, YouTube channel, TikTok channel, blog (probably need some others, but these are the initial things I’m starting with). They’ll specify the category and the bot will request a link. From there, the bot will save the link as owned by that account in that category.
Request a content recommendation. Starting out, I’m just going to let people tweet “@friend_content blog” (or similar with the other categories) and it will look up content in that category created by the people they have a mutual connection with. Starting out, it won’t be incredibly useful, as it won’t have a ton of content in the DB, but that’s why I’m hoping that the ability for people to add their own will make the bot as useful as possible as quickly as possible.
I’ve been playing around with it for the past couple evenings, and I’m pretty close to having a working MVP.
In terms of making it a product, I’m considering limiting the number of content sources an individual person can add. As a creator with multiple things happening personally, I could see paying a little bit to have multiple blogs, podcasts, etc listed. For for the sake of the competition, worrying less about the product and more about the functionality.
Build In Public University
Continuing along with my ideas for Build In Public University. I’ve been in talks with several incredible creators and I’m looking forward to what this can turn into. My tentative plan for August is to go through the prompts myself and answer them, along with the other creators who are interested. I’m a big believer in the idea of community as a shared media platform and I’m looking forward to making that a reality. As someone building in public, the hardest part has been feeling like you’re being heard. By offering shared channels that people can start publishing on, they’ll be able to focus on the parts that truly matter, instead of having to experiment with all sorts of different platforms, styles, media types, etc.
I don’t know where this is going to end up going, but I’m really excited for the potential.
That’s all for this fortnight, but more coming soon! I’ll send out an issue when I’m prepping for the Product Hunt launch in hopes that you’ll be willing to help me spread the word. It’s tough to keep up the momentum all day for a launch so any and all help is definitely appreciated!
Until next time, keep building!
~Leo