Free services for full-stack development in your next programming side project
I’m probably not the only one who wanted to start a project only to realize that it’s going to cost definitely too much for a really simple side project. However, many companies provide generous free tiers for their services, and this might be exactly what you’re looking for to use in your project.
Please note that these services are provided completely free of charge. Some of these companies may decide to change or completely get rid of their free tier.
#0: Everything as a Service
These are some service providers that give you basically everything you will ever need for your project. While it sometimes might be a good idea to have everything stored and managed in the same place, individual providers such as those listed below sometimes have slightly more generous limits in their free plans. Depending on what you need, you can also use these services in combination with others.
Firebase (firebase.google.com) is Google’s own Backend as a Service. It has an incredible amount of features and integrates well with some of the most popular developer tools. Their free Spark plan offers analytics, authentication, static hosting, cloud storage and much more. One of their most popular features is Cloud Firestore, which is a flexible and scalable NoSQL database for web, mobile and server development. Firebase also has great SDK’s for mobile application development. However, there’s always the danger of getting locked into Google’s ecosystem and some of their limits aren’t especially high. Check their pricing page to see whether they work for you.
Supabase (supabase.com) introduced themselves as the open-source Firebase alternative, and they delivered. While they don’t offer every Firebase feature yet, it’s definitely something that you might want to keep your eye on. Currently, they have authentication, cloud storage, hosted databases and automatically generated API endpoints. Their free tier is more than enough for most small applications or websites, but in the long run it might be a bit more expensive than Firebase if you decide to pay for it. But because it’s all open-source, you can even host it yourself on your own server to save yourself some money if you already have a Linux server lying around somewhere.
#1: Database as a Service
Recommendation: Planetscale (planetscale.com) is a great MySQL-compatible database hosted on Amazon Web Services with an incredibly generous free tier with 10 GB of storage, 1000 simultaneous connections, 100 million reads and 10 million writes per month. They have automated daily backups enabled by default and they also have a CLI to manage your databases. Planetscale also has the concept of database branches, which are isolated copies of your database where you can make changes to your schema and deploy it onto your production branch with zero downtime or delays.
CockroachDB Serverless (cockroachlabs.com) is a hosted CockroachDB database, which is fully compatible with PostgreSQL clients. You can choose between Amazon Web Services and Google Cloud Platform when deploying your database, and you also get to choose in which region your database is deployed. They offer 5 GB of storage for free. However, free usage is measured in request units, which is their universal metric (for both reads and writes) for the amount of compute power and disk operations used by a query. This sometimes makes it very hard to have a clear estimate of your future usage.
MongoDB Atlas (mongodb.com) is slightly different. You already guessed it, they provide you with a MongoDB database. MongoDB is a NoSQL database, which means that traditional SQL concepts such as relations, tables, rows and columns don’t really apply to it. Instead, you store your documents (the equivalent of rows) by using a JSON-like syntax. Their free cluster (which is available on Amazon Web Services as well as Google Cloud Platform and Microsoft Azure) provides 512 MB of storage, 500 simultaneous connections and 100 databases. However, according to them, the cluster only has low network performance and CPU + RAM is shared across other people’s clusters. They don’t seem to have any limit on read or write operations though.
#2: Web Hosting as a Service
Recommendation: Cloudflare Pages (pages.cloudflare.com) is a fairly new service with a ton of potential. First of all, it’s hosted on Cloudflare’s gigantic network, which means super-fast speeds and ultra-low latency, no matter where your visitors live. It’s also completely free with basically zero limitations. If your website doesn’t have any dynamic content, this is absolutely the best service for web hosting. They have recently announced Functions, which is their preferred way of using dynamic content on Pages. It’s currently still in beta though, and most frameworks don’t support it yet so it might be worth waiting for better support or using another hosting service.
Vercel (vercel.com) is a tried and tested hosting service. It’s probably the best one to use if your website relies heavily on dynamic or server-rendered content, because they have native integrations with over 30 JavaScript frameworks. It’s free for non-commercial and hobby sites, but if you want to use Vercel commercially, you’ll have to pay $20 per month for their Pro plan. Other than that, they don’t have any “hard” limits, they opted for a Fair Use Policy instead. They are also the company behind the Next.js JavaScript framework, so if you’re using that for your project, strongly consider using Vercel since their hosting service integrates seamlessly with Next.js. You can also deploy your websites directly from GitHub, GitLab or Bitbucket.
Netlify (netlify.com) is very similar to Vercel. However, unlike Vercel, you are actually allowed to use it for commercial purposes. They also have integrations with most popular JavaScript frameworks, though some of them are not as good as their Vercel counterparts. Netlify has limits, for example 100 GB of bandwidth per month, but in my opinion smaller websites are unlikely to exceed those. They also support GitHub, GitLab and Bitbucket.
#3: Search as a Service
Recommendation: Algolia (algolia.com) call themselves a search and discovery platform. It’s a service that makes it incredibly simple to implement search and recommendations into your site. They have a completely free plan, which allows for 10,000 search requests and 10,000 recommend requests per month and a maximum 10,000 records. However, they require you to place an Algolia logo into your search interafce if you use their service for free. Even though it’s designed for E-commerce sites, you can also use their service for basically everything else that requires your users to search across your site.
What’s also great about Algolia is that your products are stored in their own database and they can have multiple searchable attributes aside from the name. Filters and sorting support is also great. They also provide libraries for most popular JavaScript frameworks that include a complete search interface, but you can also implement it yourself using their API. Algolia has great natural language search and provides great results even with minor typos or misspellings. If you have an open source project and the free plan is simply not enough for you, you can apply for their Algolia for Open Source program and get higher limits at a discount or completely for free if you get accepted.
#4: CMS as a Service
Contentful (contentful.com) is a headless CMS which is being used by big companies and lots of individual developers. It has a GraphQL API if you ever need it and it’s framework-agnostic, which means that there is probably a way to easily integrate it into your current project. They measure usage in records, which is the combined total of the amount of assets (for example images) and the amount of entries. The free plan has a limit of 25,000 records.
Sanity (sanity.io) is a hosted, real-time content database. Their service is being used by multiple big companies across the globe, like Nike, Figma, Cloudflare and National Geographic. They provide you with a GraphQL API of your content and a package is available on NPM for integration with your preferred JavaScript framework. The free plan includes 10 GB bandwidth and 100,000 API requests per month, 5 GB of assets and 10,000 documents.
Prismic (prismic.io) is a headless CMS, and they have integrations with all of your favourite JavaScript frameworks. Their free plan has basically no limitations and they have a great user interface. They also emphasize on the fact that even non-technical people can use Prismic with their WYSIWYG editor. They also give you 100 GB of free CDN storage for your assets.
Forestry (forestry.io) is a Git-based CMS, which means that changes have to be made as commits into your own Git repository. They support GitHub, GitLab, Bitbucket and Azure DevOps. The content itself is represented as Markdown files and their free plan is also more than enough for any small website. There is no limitation on how many entries you can have. It’s built for static site generators and there’s no API to access your content. So if you have a dynamic website which needs to access the data, you will need to find a way to somehow access the raw markdown files from your Git provider.
Netlify CMS (netlifycms.org) is another Git-based CMS made by Netlify. However, they don’t host your content themselves, you have to use an integration with your Git provider. They support GitHub, GitLab, Bitbucket and Azure DevOps. It comes with the same drawbacks as Forestry, but at the same time, this also means that there are no limitations on their side.
#5: Email as a Service
Mailchimp (mailchimp.com) is an email marketing service that’s primarily focused on sending newsletters and marketing campaigns using mailing lists. The free plan includes up to 2,000 contacts, with 10,000 emails sent per month and a daily limit of 2,000 emails sent. If you’re looking for a simple solution to send a newsletter to your visitors, Mailchimp is a perfect fit.
Sendgrid (sendgrid.com) is a simple email delivery service. While you can also use it for sending newsletters, it’s much more powerful because they provide you with a simple API that you can use in your backend to send emails to anyone. They are trusted by lots of big companies, including Uber, Spotify, Airbnb, Yelp and many more. The free tier includes 100 emails per day, forever. You will have to share an IP address with some other senders who are also using the free tier, but this probably won’t be a problem for you.
Sendinblue (sendinblue.com) is a very similar service to Sendgrid. Their free tier includes 300 emails per day, but you also have to share the IP address with others. They support newsletters with unlimited contacts, but you can also send individual emails such as order confirmations and password resets. There’s also an API available if you want to integrate it into your backend.
That’s all for now. If you found this list helpful or have any suggestions, let me know in the comments! I’m just getting started on Medium, so if you have any ideas what topic I should write about next, let me know. Other than that, thank you very much for reading! Don’t forget to eat, sleep, code, repeat.