I've been running Jamform for about a year now. A few months ago I got my first paying customer on my $9/month tier. It was motivating, but with how crazy this last year has been I haven't been able to make any progress in acquiring more customers or developing more features. I slowly lost interest in the project and let it basically collect dust, luckily it can pretty much run itself. Unfortunately, to run the app it was costing me about $69/month, which isn't great when I'm only making $9.
$12 - Gsuite - Provided me with a domain email so I could communicate with customers (and manage all my other accounts)
$9 - Mongo Atlas - Database for the service
$20 - Cloudflare - Mostly used to automatically prevent spam in submissions, but other features as well
$15 - Sendgrid - Transactional emails (used for the main feature of sending emails on submissions)
$5 - Digital Ocean Spaces - File hosting for form attachments
All of these services seemed completely necessary when I was a wide-eyed dreamer developing the project and picturing the $XXXX/MRR I'd have to cover it. But reality was quite different and I was bleeding money every month. I wanted to fix it, but at this point it seemed like it'd be too difficult to refactor everything and change all these service.
Today I decided enough was enough, life events came up and I couldn't bear throwing away money anymore. I had two options, shut everything down which seemed like the easy option, or plug the leaks and keep Jamform alive. I chose options number two and got to work.
$0 - Gmail - To replace Gsuite I created a new Gmail account for free. It obviously doesn't look as professional but this is solved with the next item.
$0 - ForwardEmail - This service allows you to use DNS to forward emails from any domain email to your Gmail account. Now any emails send to *@jamform.com are received in my Gmail account.
**~$0 - Mongo Serverless ** - Instead of using my shared Mongo tier at a fixed rate of $9/mo I switched over to a Mongo Serverless database which uses a pay as you go model. At my current utilization I'll be paying practically nothing for the service. I simply transferred over all the data from the current DB and pointed my application to the new DB.
$0 - No Cloudflare - I was using Cloudflare primarily for spam protection in my form submissions, however it wasn't doing a very good job anyway. So I cancelled my subscription and instead I'm going to push harder for users to take advantage of the built in honeypots fields and ReCaptcha. If needed I'll look into Akismet for spam protection for $8/mo and still save money, but it;s not needed yet.
$0- Sendgrid - When I first launched I received a ton of interest from sites like Product Hunt. Mostly just curious people who never converted past the free tier. However, it was enough interest to push me past the 10,000/mo email cap on the Sendgrid free tier. I upgraded to the $14/mo plan and everything was great. However, after that traffic died down it was no longer necessary, I was sending <100 email month which the free tier allots that many PER DAY. So I quickly just downgraded my account. If my traffic rises again I'll be switching to Mailgun as they also have a usage based plan that can scale with me.
$0 - AWS S3 - I love DO Spaces for their simplicity in file storage, but the fixed cost of $5/mo is charged whether you're using it or not. So instead I switched all my images over to AWS S3. This is another usage based plan so currently I'll be playing nearly $0 for my usage. If the charges start rising to high I'll likely switch back to DO or explore new options like Cloudinary or others.
All in all, I went from paying $61/mo to nearly $0/mo. I'm also retained my $9/mo user so I'm now making money every month instead of losing it. This sheds a LOT of stress and gives me a lot more runway to make improvements and continue forward with Jamform. In the end, it only took about 6 hours to make the switch after I'd been putting it off for months and costing me hundreds of dollars.
Nice move - short term vsm long term expenses...
Free tier are great and I do this all the time, but some times it becomes the most expensive solution when you grow.
Here are some of the free/cheap services that I use:
Thanks for the info! Definitely going to look into Cleantalk and the other sites. Yeah I definitely think the tiers I'm on are not the best choices in the long run but will give me more time to figure out the best options for the future as well as showed me how it's not that difficult to transfer services if needed!
Nice. Good write up. That's similar to what I did for bullish.email, in my case I replaced Sendgrid with MailerLite, website running on Netlify and Zapier on their free tier and free GitHub Actions to build the newsletter twice a day. My monthly costs are < $10 for a service that runs on auto pilot.
With my new product neologin.co that I just started working on I'm using Cloudflare Workers, they offer a generous free tier and Postmark for transaction emails which is free for now but it will cost at most $10 bucks when I scale above their 100 emails free limit.
Also if you need a website and don't want to build yourself I highly recommend Carrd (not affiliated) I signup for their annual Pro plan at a whopping $49 per year! And you can have up to 25 sites. It's really cheap and expedited the launch of neologin.co 10x.
For domain email you can use zoho mail which is free for 5 users (5gb) each
Cool of you to introspect and cut down. I had a few questions
Thanks!
You can! They walk you though it but you essentially just set up a Gmail "Send mail as" field and it sends your emails from your domain name. https://forwardemail.net/en/faq#lazyframe-MEheS8gM4Xs
My whole application is Next.js so I'm currently hosting it on Vercel.
This is very cool and super inspiring!
If I may ask, where are you hosting the site and running the serverless code? Are these also free?
Great work Justin. ✌
This is what I was also struggling with. I think sendgrid free Tier is enough for new startup.
Definitely good enough for most applications. I just had a surge at the beginning with hundreds of new users in a few days plus I was using the same service for development so used up a lot of my usage with that. So I surged over and it forced me to upgrade and just never thought about downgrading.
Congrats on cutting back costs! I'm in a similar boat, trying to keep things as minimal as possible for as long as possible to keep the costs down. So far it's just 1 bare metal server and that's it.
I've been looking at MongoDB serverless too, and I've a question. Their pricing tier states "$0.30 for the first 5 million per day", does that not mean you'll be charged $0.30 each day if a single read occurs? Essentially $0.30*30 days = $9, essentially meaning you're back to square 1?
Good question! It's very confusingly written in my opinion so I reached out to clarify here. They assured me you're only charged based on your actual usage but I figured I'd test it just to be sure. Here is an invoice of an example app I left running for about a month. As you can see my usage puts me into the "0-5 million RPU" tier, and the actual amount I was charged was just a percentage of that $0.30 based on usage.
This is so helpful, thanks! Going to make the move this week I think.
Good luck! You'll probably have to update some packages and connection strings, Serverless has some compatibility issues, but worth it in my opinion!
Pretty insightful...
Low overhead is the name of the game. Great job. Glad you kept your site running.
This comment was deleted a year ago