7 opinionated tools I always use to build my SaaS
Tags: saas, serverless, productivity, webdev
Published: 2023-06-01 05:36:23

*Part 1 of 2*

*** [Original posted on Medium ](https://medium.com/@RishiU/7-opinionated-tools-i-always-use-to-build-my-saas-and-how-i-go-to-market-faster-8ac7d72ac5b6)***

Your startup is going to the moon 🚀,  your mom and sister are super excited. Nobody else cares, and until they do here are my thoughts on the tools stack most solo founders should use for a micro SaaS startup. 

Hopefully this list will help you  avoid the burnout and disappointment that I and other founders experienced.

TOC
1. Do not roll your own Auth.
2. Do use what you know.
3. Serverless + JAM stack Hosting.
4.  Database - *Keep it simple stupid*.
4. Don't waste more than 45 mins on logo design.
5.  Do spend at least a week on your domain name.
6. Transactional & marketing email.
7. Collect dollars only when your fake billing page breaks.

---

### ❌Do not roll your own Auth
As much fun as it was the last time around, there's only so much JWT's vs Sessions & Cookies Vs Local storage arguments you can have in one day. 🥱 It's not worth building a scalable user authentication system on your own.  But sure you can take a  deep dive  down the endless rabbit hole and watch  [this](https://www.youtube.com/watch?v=GihQAC1I39Q&t=351s) and [this](https://www.youtube.com/watch?v=Hh_kiZTTBr0&t=20s) oh and [this](https://www.youtube.com/watch?v=dgg1dvs0Bn4) and dont forget to read [this](https://hasura.io/blog/best-practices-of-using-jwt-with-graphql/). But in production, go with one of the big boys. 

**Auth options** 
1. [Firebase Auth](https://firebase.google.com/docs/auth)
2. [Magic Links](https://magic.link/)
3. [Supabase Auth](https://supabase.io/docs/guides/auth)
4. [AWS Cognito](https://aws.amazon.com/cognito/)
4. [MongoDB Serverless Authentication]https://www.mongodb.com/realm/appdev)
5. [Auth0](https://auth0.com/) & [Okta](https://www.okta.com/) are the *OG's* but pricey when you scale. Also, I'm not sure if they're still cool?


---


### ✅Do use what you know. 

Don't waste time learning that new tech stack you saw on [fireship.io](https://www.youtube.com/watch?v=Sxxw3qtb3_g).  [Astro](https://astro.build/) with [CloudFlare Workers](https://workers.cloudflare.com/) & [Solid JS](https://www.solidjs.com/) comes to mind; Instead, go with what you know to get traction quickly, then tweak/learn/improve. If it's Rails, then go with it; if it's Django, perfect.  In my case, Vue 2.x SPA with pre-rendering.  Just no PHP. 🤭

---

### ✅ Serverless + JAM stack Hosting
There is no excuse for not loading fast in 2Ø23. Indeed, not all cities are within reach of edge locations, but sub 3 second load times for [FCP](https://web.dev/first-contentful-paint/) is certainly doable.  Managing servers are great, but handling both the front and back end coupled with SaaS marketing and two crying kids is *HARD*. Focus on the fronty part of the site and spend the rest of your time figuring out how to *GO TO MARKET*.  Let cloud functions and server less do the rest. IMO don't bother with managing or scaling hardware.

 If you need to scale hardware, that's a high quality problem to have, and perhaps you should be writing articles instead of reading this one.

**Hosting options**
1. [Vercel](https://vercel.com/) 
2. [Cloudflare](https://www.cloudflare.com/) - *My Pick*. 
3. [Render](https://render.com/)  
4. [AWS S3](https://aws.amazon.com/s3/) 
5. [Alibaba  Cloud Object Storage Service](https://www.alibabacloud.com/product/oss)
The last two are object storage which works great for hosting static files, but do need to be managed and shoved  behind a CDN.
*plus literally 100 more options.*

---

### ✅  Database - *Keep it simple stupid*... said someone mean 🙄
Or they might have said *keep it open source and hosted stupid*, whatever,  I did exactly that.  Simple was using either  documentDB's or SQL.

**Hosted DB options**
1. [MongoDB  Serverless](https://www.mongodb.com/atlas/app-services). 
*My pick* Mongo Serverless allows me to execute database updates/queries from the client which is a **game changer**, no backend needed and fiddling around with backend API's to make a db connection. Time saver and a joy for my clients to use. 
2. [Supabase](https://supabase.io/) looks promising postgres managed DB.
3. [Firestore](https://firebase.google.com/docs/firestore) You already know this, not opensource.
4. [Fauna DB](https://fauna.com/) Simple pricing, auto scales, worry free, but has a learning curve, *FQL whaat? - Not opensource.
4. AWS has a tonne of hosted options, but apart Amazons own DB option, none of the others are native, I would rather go and sign up with the provider direct like MongoDB, if I was looking for a document store. 
5. Air Table, Google sheets are options too, but not really opensource and you need to learn their API.

---

### ❌Don't waste more than 45 mins on logo design
If this is your first SaaS, then I'm going to tell you the exact opposite of what I would recommend everyone else. Go on, spend 3 weeks fluffing about with some fancy Adobe package crafting that awesome abstract logo, you're going to do it anyway, after all its all part of SaaS building fun 🤗, hugs and rainbows and unicorns 🌈🦄.
 
Once your done wasting your time, come back to reality and just TYPE in your logo, shove it in the top left of your <nav> and your done. You can thank me later. 👏🏻
For second time founders these tools take 10 mins and the result is a *million dollar logo* : 
1.  No Logo just use a 24px font size and <em> tags and voila.
2. [Logology](https://www.logology.co/) Ask for Lucie she's amazing with an eye for design. 10 mins svg and eps logo done.
3. [NameCheap Logo Maker](https://www.namecheap.com/logo-maker/) formally [Launchaco](https://launchaco.com) nice free option and done is 7 mins.
4. Whatever you decide save your logo as a SVG.

---

### ✅ Do spend at least a week on your domain name 😜
Finding your unicorn domain name, has almost zero effect on the success of your business but is inherently exciting. I always recommend searching for a domain *while* you build and not *before*.  If you lose interest in your idea 7 days in, at least your not out of pocket 24.99. More importantly you save yet another domain name from biting the dust in your already lengthy list of dreams in your GoDaddy account.	

Don't use traditional registries like GoDaddy when searching  for your prefect name, they tend to store cookies and increase pricing on subsequent visits! Clear your cookies when searching for the same domain over again. Their also known to buy  up your domain just before you do. 

**Instead use tools like:**
 [DomainR](https://domainr.com/) Scans several registries at once with a really nice UI.  
[Cloudflare Register](https://www.cloudflare.com/products/registrar/) No markups, nice UI. 
[Hover](https://www.hover.com/) - No ads, no upsells, costs a little more but worth it *My Pick*

---

### ✅ Transactional & Marketing Email Options
 Introverts tend to mourn the thought of actually reaching out and saying *'hi, hello, how r u'*.  Sadly in SaaS,  you *do* need to talk to people... Well, at least your app does, so it's not all that bad, below are some options to help you with your SaaS communication. There are many options above $60 per month with automation and drip marketing, but they might be overkill for a solo founder, so I will not list them here.

**Email Options**
1. 👍🏻 [Postmark Transactional](https://postmarkapp.com/) One of the best and easiest API for sending transactional messages, support is genuinely remarkable, ask a question, get a helpful reply within a couple of hours. $10 for 10K transactional, you can't go wrong.  I use this for email verification, lost password, etc. Lots of customizable options via the API.  The downside is Postmark is not a marketing suite, and they don't want to be. You can send broadcast messages, but they kinda want to stay away from the whole drag and drop template builder and automation aspect of marketing. Still an amazing transactional service.
2. 👎🏻 Mailjet  Not for me, tried them several times, support wasn't there , dated UI  Don't use them;  could be wrong but I have nothing else to say.
3. [DRIP](https://getdrip.com) Good if you have an eCommerce site or selling tangible items, but if it's SaaS, I think they are more focused platforms.
4. [Courier](https://www.courier.com/) I'll be using this one soon. The cool thing about Courier is that it scales, and you can get started for free. You bring your mail service to them. So if you have a Postmark Account or Amazon SES,  Courier will use your keys to send all your Email through their beautiful interface. You now get templates, automation, transactional, and other shiny things all within Courier. IMO Postmark + Courier could be a winner.
5. 🙏🏻 Noteworthy mentions  I have tried and used in past projects include:
a. [Sidemail](https://sidemail.io) Patrik a fellow Indie Hacker built this, great UX.
b. [AutoPilot](https://autopilotapp.com/)
c. [ActiveCampaign](https://www.activecampaign.com/)
d. [MailerLite](https://www.mailerlite.com/)
e. [Parcel](https://useparcel.com/) For coding your email templates, ask for Avi.

---

### 💰 Collect dollars only when your fake billing page breaks
Back in the early 2000's I remember setting up a lengthy merchant account with Authorize.net, the days before PCI compliance!  Yes this does date me, but if you think dealing with payments  is hard now well, you should have seen it then. Merchant accounts, discount rates, customer service,  paper reports, thousands in setup fees, it was a real mess especially for beginner devs like myself. 

Thankfully two Irish boys saved us all from dying a slow poor death. Thank you  [Stripe](https://stripe.com) 🙏🏻🍻☘

Still even with Stripe, don't get too excited and build out your custom payment flow too early, get traction first. In my early failed startups, I've spent countless days, weeks setting up custom billing, accounts, upgrading and downgrading all for nothing, **no-one visited, nobody paid, hence please don't do this.**

I now use a fake payment page for new projects 😁, and when someone tries to pay me, only then do I implement Stripe. The user gets an error message and is contacted later to the stripe payment form a day or two.

I highly recommend Stripe for two reasons. Their API is relatively easy to understand, and if you get lost in the docs, they have live chat support for all account levels. Support is friendly and super cool.

**Payment Options**
[Stripe Checkout](https://stripe.com/docs/payments/checkout) - Simple way to build checkouts quickly hosted on stripe.
[Stripe Elements](https://stripe.com/docs/payments/elements) -Custom styling, more finesse , inputs on your page.
[Braintree](https://www.braintreepayments.com/) Yeah I would now say there API is as good as stripe, not sure about the support, but they do have PayPal payments built in!
[Paddle](https://paddle.com/) - Lots of SaaS using this now
[Charging Bee](https://www.chargebee.com/) - Looks cool too.

---

Did you find this post helpful? Let me know what other tools you use?

***Part 2 will be landing soon.***

***Follow me  on IH and [twitter](https://twitter.com/RishiUttamHK) for more opinionated views on building  SaaS***