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.
- 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
Total spend: $573.32 per month.
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.
Figma
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.
Google Analytics
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.
Sendgrid
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.
Stripe
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 Blue
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.
Virtual Postmail
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.
My Thoughts
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 or
customer.io 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. 😊