💸 The Waitlist Indie SaaS Startup Stack, 2023 Edition
By Maya Kyler on October 9, 2023
Last year, I wrote a popular blog post
on the software stack that I use to run Waitlist, and how I managed to keep costs low — spending only $281.32 a month to run a product that serves thousands of users and millions of signups and referrals. Building data-intensive growth and email marketing software could
cost a lot, but I've managed to keep costs down by using third-party software and services efficiently, getting a ton of mileage out of cheap or free plans, and loading up on startup credits where possible.
Below is the monthly cost break-down, and then I'll go through each service in detail.
Total spend: $573.32 per month.
- 1Password: $2.99
- Ahrefs: $99.00
- Amazon Web Services: $0.00
- Better Uptime: $0.00
- Cloudflare: $0.00
- Delaware Franchise Tax: $25.00
- Figma: $0.00
- Github: $0.00
- Google Analytics: $0.00
- Google Domains: $1.00
- Google Suites: $6.00
- Intercom: $89.00
- Linear: $10.00
- Mercury: $0.00
- Retool: $0.00
- Sendgrid: $249.00
- Sentry: $0.00
- Stripe: $0.00
- Stripe Atlas: $8.33
- Twitter Blue: $8.00
- Vercel: $40.00
- Virtual Postmail: $35.00
I'm going to skip the entries that are self-explanatory, and will only focus on the ones that are more interesting or significant to Waitlist. If you're curious about any services that I don't cover in this post, just look at last year's post
where I covered in detail every service/product that I'm using here at Waitlist.
Amazon Web Services
I use AWS EC2 for Waitlist's backend Python server, RDS for a managed Postgres database, S3 for file storage, and an Elastic IP. Our AWS usage has now increased significantly, so I've really had to optimize our Postgres queries and instance usage, otherwise it's easy for costs to grow out of control. I spent a lot of time on driving efficiency and performance. Waitlist runs on a db.t3.xlarge database instance with a t2.small read-replica, and a t3.medium instance for EC2. Costs of S3 and Elastic IP, etc. are trivial.
The Waitlist AWS bill would be about $400 a month at current usage, but I'm still running on our second grant of AWS Activate credits (worth about $5,000). Those are set to expire in early 2024, but I'm working with many AWS partners (Retool, Stripe, etc.) so hopefully I'll be able to get another set of AWS credits so I can continue using AWS for free. (Otherwise I might have to switch to Azure if I can get a good offer on credits from them!) Monthly cost: $0.00.
If you know Figma, you know that on the Free Tier you're only allowed three Figma files. How am I still using Figma? Well, any Figma file has an infinite canvas, so I just make a little area for each Waitlist product or feature and work there. I do the same as Luca:Monthly cost: $0.00.
GA4 is so bad that I'm thinking about switching Waitlist off Google Analytics entirely. The newest versions of the Google Analytics interface are almost impossible to use. I may have to spend some money for a premium product going forward. High-quality analytics are important both to us as a team at Waitlist, and to our customers. Waitlist does some of its own analytics in-house by grabbing UTM Parameters
on user signup and recording various browser/user metadata, but there's a lot of useful additional context provided by a commercial third-party analytics service. Monthly cost: $0
Waitlist is now on the Sendgrid Pro plan at $249.00/mo, which lets us send about 300,000 Waitlist emails a month before it hits overage. Our customers are using Waitlist very effectively to do email marketing as part of their referral marketing campaigns. At this scale, we're not using any Sendgrid credits, but I'm outraged by how expensive this is. By comparison, AWS Simple Email Service
charges $0.10 per 1,000 emails — that pricing scheme would charge us just $30.00/mo for 300,000 emails. It'd be almost ten times cheaper than Sendgrid.
One of our top efficiency priorities at Waitlist right now is to migrate from Sendgrid to AWS SES, and we'll be able to save around $2,000 a year. The only reason I haven't done it yet is because moving email providers is difficult — we would have to build up a new email reputation, and it's easy to mess up DNS configuration or email security (SPF/DMARC) in the process. The fragility of commercial mail providers makes their products sticky (and therefore expensive). Monthly cost: $249.00.
Our Stripe credits for Waitlist were for twelve months only, so they have expired as of September 31, 2023. 😟 Now that we're in October, Waitlist is actually paying Stripe 2.7% on every transaction. I don't love it, but that's life.
Monthly cost: $0.00 (but soon... more).
Twitter is important for brand-building and legitimacy, so we pay the troll toll and give up the $8/mo. However, our observation has been that the indie saas/software development twitter community has been slowly diminishing since Elon took over, so maybe there'll be a point at which we get to drop this expense. Monthly cost: $8.00.
This one is new; we didn't have it last year. Virtual Postmail gives us at Waitlist an official corporate address, so we can receive mail there, which is sometimes important. Any mail that we receive gets scanned in automatically, and then they email us the mail. We don't get mail often, but it's useful to have a fixed commercial address that never misses anything. Monthly cost: $35.00.
To me, the most interesting thing is how many services haven't changed between last year and now. The Waitlist software/services stack is almost the exact same as it was last year, with mostly the same pricing, despite growing. The only significant change was that I stopped using Stoplight
, which was an API documentation tool. I was paying $99.00/mo until I realized that we really weren't getting that much out of it. Stoplight is probably the best API documentation tool on the market — much better than virtually any other solution we tried, and we tried plenty — but for Waitlist we didn't need that. We ended up using a free Tailwind documentation framework to draft our documentation
Waitlist is still getting a lot of leverage out of free credits. If we were paying for AWS, Retool, Sentry, Figma, etc. and weren't on startup plans, we would easily be spending $1,000 a month. Getting and maintaining free startup credits is really important for any indie saas dev.
Just as last year, I'll note that we've also saved some money by building in-house some SaaS features that other companies are normally paying for. We don't use any email marketing tools like Mailchimp
because we don't do a lot of email marketing. The little that we do we handle via Sendgrid, where we designed some simple email marketing sequences and campaigns that run automatically.
It is interesting to note that out of all our services and infrastructure, Sendgrid is basically half our costs. 99% of what we send via sendgrid is transactional mail from our customers, i.e. their email marketing campaigns that they've configured inside their Waitlist Settings. If we can migrate from Sendgrid to SES, then that would take down the Waitlist email bill by almost 90%, and cut our total costs roughly in half — back down to the $280/mo range, which is where we were last year. 😊