Skip to content

Free services that belong in every dev's toolbox

After running this site through a few iterations, I've settled on a stack of services I use on pretty much every project. Most of them are free. Here's what I use and why.

The way I think about it, every project goes through the same stages - write the code, get it deployed, store some data, automate the repetitive stuff, and keep an eye on it once it's live. The services below each play a role in that.

Build and deploy

For CI/CD, Github Actions is what I use. I automate as much as possible - building, testing, deploying. The free allowances are generous and I've never run into the limits on a personal project.

For static hosting, Cloudflare Pages is my favourite. It hooks into your repository, deploys automatically, serves everything through the Cloudflare CDN, and supports custom domains. And it's free. There are some limits on the number of domains per project, but for most things you'll be fine. Github Pages is also worth considering if your project is already on GitHub - it deploys on push and there's nothing extra to set up.

Not everything runs on a static site though. If you need a proper VPS, Digital Ocean is where I go. It's not free, but a basic droplet starts at around $4/month, which is hard to beat.

DNS and security

I'm an AWS fan, but I don't use Route 53 for DNS. Paying for a hosted zone and then being charged per DNS query feels excessive when there are better options. I still register domains through AWS, but once that's done I delete the hosted zone and point the nameservers at Cloudflare. It's free, and enabling Proxy DNS is worth doing - it hides your server's IP address, gives you free SSL, and puts Cloudflare's WAF in front of your site to block common attacks. All for nothing.

If you're on Digital Ocean, DNS hosting is included with a paid droplet, so that's another option if you're already in that world.

Data

For databases I lean on two services, depending on what the project needs.

Supabase is Postgres in the cloud, but it also gives you REST and realtime interfaces on top of your tables. Small apps can talk directly to it without needing a custom backend layer. The free tier is capped at 500MB, which is plenty to get started.

Turso is where I go if the project is SQLite-based. It's a SQLite-compatible cloud database, and migrating to it from a local SQLite file is pretty painless. You get 5GB free.

Automation

For automating things that don't fit neatly into a GitHub Action, I use Make.com. In my case it watches the RSS feed from this site and posts to my social media when something new goes live. No code needed - you just wire things together visually. The free tier has limits on operations per month, but for personal use it's more than enough.

Monitoring

Once something is live, you need to know when it breaks.

UptimeRobot checks your site on a regular schedule and alerts you when it goes down. Cloudflare Pages is very reliable, but things do happen - and it's much better to find out from a monitor than from someone telling you your site is down.

Health Checks works the other way - instead of checking on your service, it waits for your service to check in with it. My backup script sends a ping when it finishes. If the ping doesn't arrive, I get an alert. It's a simple idea, but it catches a lot of things that would otherwise go unnoticed.