Side-Project Job hunting is really hard nowadays, mostly because job offers are distributed across job boards, aggregators and companies career pages. So I decided to create , a web app that tracks all your digital job applications. You can either use the or simply paste the url of the job description in to save it.In this way you can manage from a single admin page all the career opportunities you are interested in. Job Buddy chrome extension Job Buddy In this post I wanted to share the tech stack behind to show that you can quickly bootstrap a complete Web App at almost 0 cost. I developed really fast, spending just : Job Buddy Job Buddy 18,5€ 14€ for the jobbuddy.app domain from Google Domains 4,5€ for the Chrome Web Store subscription Stack is almost entirely deployed on top of platform, since they offer a complete suite of products with a “generous” (mmmh) free plan. I had to create 3 different products: Job Buddy Google Cloud Web App Backend Chrome Extension so I decided to go with for the Web App and the Chrome Extension and for the Backend, to have minimum context switch while developing. ReactJS NodeJS Database Then I had to pick a database because I needed to save the job offers for each registered users. Maintaining a database is a huge pain, especially if you are a not database guru (I’m not). You need to setup and manage your instances (redundancy, availability, backups … do they ring a bell?), or you can go with cloud solutions (like Mongodb Atlas), but they can be costly for a side-project. So I decided to go with , a service of the Firebase suite which offers a flexible and scalable database on the cloud with a “fair” (again, fair?) free plan. It is a document-based solution (NO-SQL) and can be tricky to get right at the beginning, but the trade off is that you have no hassle; Firestore has you covered for almost anything. Therefore, even if it’s still in Beta and has its flaws, it was more than perfect for my use case. Firebase. Firestore Authentication One last delicate missing part was authentication, I wanted users to sign in/up to the service, but building an auth system from scratch was not (and probably will never be) an option. Luckily the Firebase suite offers , which is basically a few-lines code implementation for a robust auth system, supporting a long list of providers.The best part of Authentication (imho) is that they automagically handle email confirmation and password reset, which are a must have, but a pain to develop. Let’s be honest, everything which is a “core feature” and takes you more than 15 min to develop is just a pain in the a**. Firebase.Authentication not So, here is the stack of Job Buddy: — Built with Web App ReactJS — Built with Backend NodeJS — Built with Chrome Extension ReactJS — Built with Database Firebase.Firestore Job Buddy flow Hosting — Web App The database is , handled by , and the Chrome Extension too, being managed by the I just needed to figure out where to put the Web App and the Backend, possibly for free.Exploring other Firebase services I discovered , it basically hosts your web app with a free 1GB storage and 10GB/month of data transfer, plus Custom domain & SSL support. 10GB/month is that much ( ), but it’s a good start, especially if all you have to do is done Firebase done Chrome Web Store. Firebase.Hosting not really yarn build && firebase deploy from your local repository. Amazing. : In the first day of launch burned almost 1GB of transfer data, at this pace in 9 days I’ll have to open my wallet! So be careful with all these “free” plans. Note (also to myself) Job Buddy I now had a randomised url web app on the internet, so I needed a domain name. I checked both and : the first one is probably cheaper (don’t know if it has “hidden costs”), but I wanted to stick with Google. I bought jobbuddy.app for and in 1h I could reach (note the http part), all you have to do is to follow the instructions given in the Firebase.Hosting console.Web App , time for the backend. Namecheap Google Domains 14€ https://jobbuddy.app S done Hosting — Backend While I was in this Google services killing spree, I decided to look into . It’s similar to AWS Lambda, it basically hosts a NodeJS app that responds to http events, so you are billed for the “actual” (always be careful) usage of the service, if no one uses your app you pay 0. Furthermore they offer a free plan with a 300$ (fair enough) gift cards when you sign up.The service is still in beta and has flaws, for example it’s kinda slow on the first invocation after sleep (do you need a warm up?) and it only supports at the time of writing, so I had to convert some part of the code to be compliant. Anyway it seemed a good fit for Job Buddy, I used the console to create the function: you simply zip the NodeJS code (be careful to zip the content of your git repository, not the folder of the repository!) and upload it in the web interface (there is also a CLI available to do this programmatically). At the end you are given an endpoint to invoke the function with a simple http request. Google Cloud Functions Node v6 The backend is too, Job Buddy is now live at . It’s automatically scalable and fast, I don’t have to worry about anything (except costs).Here is Job Buddy done https://jobbuddy.app Job Buddy Cloudflare After talking with some , I discovered that, in order to reduce costs, you can put in front of . It handles SSL for free and it’s really good for caching, in this way you will reduce the interactions with , saving money.The setup is fast and straightforward and I got up and running in around 5 to 10 minutes.I’ll see in the next weeks what the shows, but it looks promising. IndieHackers Cloudflare Firebase.Hosting Firebase.Hosting JobBuddy Cloudflare.Analytics Cloudflare console Conclusions If you are starting to develop a fantastic side-project and wish to deploy it somewhere on the internet, possibly at 0 cost, you can copycat the stack of . Job Buddy — — hosted on Firebase.Hosting Web App ReactJS — — hosted on Google Cloud Functions Backend NodeJS — — hosted on Chrome Web Store Chrome Extension ReactJS — — hosted on Firebase Database Firebase.Firestore — CDN Cloudflare The only costs I sustained were 18,5€: 14€ for the jobbuddy.app domain from Google Domains 4,5€ for the Chrome Web Store subscription I’m saying this the best approach, this is simply the one that I used. There could be many more solutions out there better than this one :DFeel free to leave comments, feedbacks or suggestions on how to improve this. not IS