Building My First Micro-SAAS — Code to Launch
They say if you want to make a successful SAAS product, then you need to first solve a problem. Better yet to solve one of your own , that way if it doesn’t build any customer interest at least you solved your own problem!
How do I cleanup my Gmail? This was the problem that I had. See, I created my Gmail account on 11/30/08 and 21 year old me never wondered what my inbox would look like nearly 17 years later if I didn’t clean it out regularly.
…
🩸Total Unread Emails: 18,108 ⚰️Total emails containing the key word “unsubscribe”: 31,265 🪓Total Emails: 53,242
Photo by Cookie the Pom on Unsplash
Please let me know in the comments if you can relate to my defeat and self shame.
🧠I thought to myself, “I know python well enough that I can probably hack something together”. At the same time, I was watching a lot of build your own SAAS videos on YouTube and realized that others likely have this same problem. Turns out a lot of my close family members do at least.
So, if I build a thing, and make it accessible on the web… I’ve got friends and family to beta test. I wonder if I could sell this?
STOP! Build the damn thing first! Solve your problem and make my process repeatable for others.
The SAAS Process Outline Now of course this is not the order that I took to get to production, but it is how I intend to get there on my future projects.
- Identify a problem that you have that might get solved through automation. Now ask yourself the following questions: a. Will it benefit you to automate this process or should you just tackle it head on in the traditional way? b. Could others benefit from this and would they use it?
- Validate Automation. - Make sure you have the skills and tools to tackle this.
- MVP — Minimal Viable Product
- Landing Page
- Email Account
- Hosting Solution
- Domain
- APIs
- Social Media
- Analytics
- Beta Testing with Real Users
- Monetization
- Go Live!
Identifying the Problem Problem: My inbox is unmanageable in its current state of anarchy.
Automation or die? ⛓️This is how I felt. To tackle this head on, I would need to unsubscribe from likely every email subscription manually. Document every sender that I unsubscribe from, and bulk delete. Find emails older than, 10 years? Reminisce over old emails and acquaintances, while getting lost in old attachments and images…
STOP! 🏴Ignore that crap, and just atomate a solution!
Could others benefit from this? The short answer is yes. I asked my brother if he would test it out once it was up and running. He actually said he would pay for something streamlined like this. Good enough, and moving on.
Is there a demand for this product? You should google it and check out Reddit discussions to determine if there is a significant demand. I on the other hand might die if I don’t automate this process!
Validating Automation Could I write some python script to help me clean up the dumpster fire (🗑️🔥) of an inbox that I allowed to happen?
Mmmm, not without figuring out some Google API stuff that I’d never used before.
🧠Let me tell you how useful YouTube can be… I mean, of course I lost a few hours to useless YouTube shorts not even closely related python or SAAS… I do have a pretty good grip on Google Auth, Google Service Accounts, Google/Gmail/Google Sheets APIs now!
Minimal Viable Product (MVP) Time to build. I watched a few YouTube videos where they all stressed not to worry about logins, hosting, and all the shiny features that you want to add. ← REALLY! I STRESS DO NOT DO THIS!!
It’s such a time suck well before you get any functional code executed.
But, if your like me, I wanted this to be a SAAS from the start and was worried about deployment. I knew it had to be a web app so that it gained the necessary accessibility to go “viral”. I also suck at web design.
Don’t ask me to build you a website. Don’t ask me anything about WordPress. HTML skilz, meh, they are OK. CSS is a constant excursion to W3Schools and the GeeksForGeeks websites. Also, I self taught Java before I took it in College… you know, JDK, not Java Script…
Now in my late 30’s I care more about automation than appearances, so I’m kinda stuck with Python Web Development Frameworks and not about to learn anything new.
- Django — I was gonna joke about a Pixar movie starring a lizard in the desert, but when looking up a movie cover art I had discovered I was thinking of a Paramount movie called Rango… Anyways, most of the internet recommends that one starts by learning Flask first as DJango is equally as capable as it is difficult to learn. So, I have not bothered with Django.
- Flask — Super easy if you ask me. You can create HTML webpages and easily display python variables and run functions in the background for dynamic content! But the CSS… Once again, I cannot with web design.
- Streamlit — Also, super easy. In fact easier than Flask! And it has a lot of Widgets and things built right into it to make display beautifully within your web browser. This is what I chose to use. Unfortunately, Flask is a bit limited as far as traditional web design goes. Most people who use it end up building a dashboard with charts and graphs or design an LLM or GPT interface familiar to that of ChatGPT. No where close to your traditional market place, or ad populated blogs. Oh! And the whole webpage resets, i.e your python script gets rerun every time you interact with a widget. ← There are ways around this, I just had to sort it out in development.
Anyways, back on track now. MVP!
Start building, make sure to set up Git and upload your project to Github. Keep it Private as you do intend to monetize. This will allow you to track changes and push updates while in production later down the line. ← DO THIS!
My project is called Email Cleanup, but if you go searching for it on the web you will want to search “Email Anarchy”!
Build a Landing Page Whether you are hosting or shipping a product you should generate some form of Landing Page for customers to signup, track your progress, and simply learn about your product.
Since I have built both my site and product using python, all of this is wrapped into one git repository.
Here is a screenshot from my landing page. It’s not overly complicated, and straight to the point.
Email Accounts 📧Let’s make this easy. Start with a free Google account. This opens you up to lots of options and tools that Google provides at no cost. By tying everything into that dedicated google account, this makes it super easy for you to sell your SAAS down the line and turn everything over with one set of credentials.
You won’t always get the best email to align with your product perfectly. I tried many derivatives of Email Anarchy and ended up using [email protected]
That will do the job fine for now.
Hosting Solution I throw this one on the list before purchasing a domain only because, dependent on your hosting solution they may bundle domain services in as well. You really need to have some idea of how you want to host first.
There are free options out there, you just need to look around. For instance I could have hosted on Streamlit’s Community site, being that my entire app is based in Streamlit. You could also use GitHub to host your website!
🖥️I personally will be using AWS Lightsail incase this takes off, requires dynamic resourcing, etc. Additionally, I want to become more proficient with their platform and products.
AWS Lightsail offers a simplified, fixed-price experience for small projects, while Amazon EC2 provides deep customization, flexibility, and granular control for large-scale, complex applications with pay-as-you-go pricing.
I don’t know that my small SAAS project will require “deep customization, flexibility, and granular control” and its definitely not “large-scale”.
Lightsail is ideal for beginners and quick setups like small websites ← Hey, Yeah! That sounds like us! … or blogs, whereas EC2 is suited for enterprise-level workloads, machine learning, and high-performance computing that require specialized instance types and advanced networking and security configurations.
Besides, Lightsail offers the first 6 months of hosting free!
Domain 🌐As stated earlier, perhaps you will use a hosting company with Domain Name features and offerings built in. I am just using GoDaddy as I am familiar with their product and dashboard.
Additionally, it may be useful for you to do some research on product titles and available similar available domain names before you get to this section. Although, I definitely would not commit to something until you a an MVP built.
I have found EmailAnarchy.com and it is live today if you want to check it out.
APIs If necessary, now is the time to tie any APIs and payments back to your new email account. In my case, I am primarily using Googles APIs. Through Google I have access to OAuth2 login using one’s Gmail account; Google and GMAIL APIs for accessing user profile details such as Given Name, and email address; Google Sheets API for keeping track of usage data and exporting application logs.
Social Media While not the most important, but a critical step. We need to advertise our product. I am doing it here through medium. Also through, word of mouth and LinkedIn. I will think about promoting over Facebook, but I am presently unsure.
I will follow up this article with regular check-ins on how each of these platforms contribute to the hopeful success of my SAAS Application.
Analytics 📈This is also critical. We need to know where our leads come from, how often people are signing up, and how much money we are making.
I have setup some basic tracking into EmailAnarchy. Every time someone puts their name and email into my Landing Page, I store that data. I even have that metric presently displayed below the form, stating how many people are interested in this product.
Every time someone logs in that will be captured, as well as what actions they commit and whether they pay per action or if they are a paying subscriber.
Their are other analytical tools you can use, or build (catch me in a future article) to help you understand where traffic is originating from.
Beta Testing Call your brother, call your mom, call your best friend from grade school.
I wouldn’t sell yourself short on the unlimited means of gaining beta-testers. Invite early access over social media and through word of mouth in order to beta-test your product.
Shameless Plug: If you’re up for being an early tester of EmailAnarchy, just head over to emailanarchy.com and hit submit on the form — it’s the first step toward reclaiming your inbox sanity. 🚀
Ask important questions, like “what do you hate about my product” and “what do you hate about competitor’s products”. ← These questions are way more important than, “what do you like about this or that”.
Catch bugs early on and make improvements to compete with potential competitors.
Monetization 💰If your simply looking for some passive income you can host ads. Get ad revenue, or offer to remove ads at a cost to your customer.
💵Look at APIs for Stripe. This seems to be the overwhelming preference of most SAAS and Micro-SAAS developers who are selling a product or service. You can host onetime payment or subscription model payments.
I’m keeping mine simple. Pay per action, unlimited actions for 30 days, and single payment for lifetime access.
Pricing will always be a huge question. My simple advise is to make sure that your pricing aligns with covering the costs of keeping your service online. Figure the cost of Domain renewal, hosting, API fees, marketing, etc.
Additionally, who’s your customer? If your app tracks celebrity yachts or identifies deals on renting and buying pre-owned party jets, then perhaps you can charge a premium. I am looking at providing a service that anyone who has a Gmail account could find value in. So I want to make my service affordable to most.
For my first project I am keeping it low cost on both my end and the customer. I am only worried about covering the domain and hosting plans.
Cost to customer: The first commit action for each customer is free!
$1 per commit — Initially, from the perspective of the MVP: this means that the customer can use my service to unsubscribe from up to 10 different email subscriptions and remove all affiliated emails from their inbox whether its 1 email or 1,000 emails, or more for just a dollar.
$5 for 30 days of access — This provides unlimited commits over a 30 day period.
$50 for Lifetime access — Providing unlimited commits, without additional fees or renewals.
Between the domain and hosting costs I only anticipate an initial investment of less than $2 for the first few months. So, if I can reach my goal of having 20 people just try it out and a fraction of them paying $1each , then I made a profit!
Going Live! I suppose it will depend on your competition and success during early access whether or not to have a launch party. No fancy hats required for this party. I mean your welcome to encourage hat wearing, but it can be as simple as a social media post, or group email.
Perhaps early access took off better than expected, or you don’t want to create too much buzz about your product just yet. I know it’s exciting, but best to keep chill on launch day of your first SAAS. I know I will try my best to follow my own advice 🤞.
Read the full article here: https://medium.com/automate-everything/building-my-first-micro-saas-code-to-launch-f8a5098a3850