Having a top-notch technology stack with a zero budget

I’ve developed different projects by myself in this 15 years that I’ve been working as a software developer. One thing that I learned is that it may take a very long time for a project to start working (if it does at all), specially if I work at it part time or in my free time. So having none or close to none fixed costs is important to keep that project from being a burden in my monthly budget.

We live in a time where you can have a top-notch technology stack for free. This are the tools that I’m using right now that I recommend to any indie developer or small team that wants to work on a project with a zero-budget:

  1. Code management and CI/CD: Gitlab

I’m a very big fan of gitlab, they made an amazing product and their free version is enough for any solo developer or even a small team. I use it to manage my code projects, and since it also includes free servers to run CI/CD tasks I use it to run tests and to deploy the product.

2. Infrastructure: AWS pay on demand/serverless services

Right now I have a somewhat complex product (a fitness app platform for trainers) running on AWS, for less than a dollar a month. I’m using DynamoDB for the data, AWS SQS for queues, lambda functions to run all the code (from api to cron jobs), AWS MediaConvert to do video conversion and S3 buckets for static content. Since everything is paid on demand, as long as my project doesn’t have any real traffic, my expenses will be practically zero, allowing me to keep it alive for as long as I want.

3. Error monitoring: Sentry

One aspect that most developers don’t pay the necessary attention is “how are you going to know when something doesn’t work?”. Even while working in a medium sized company, they always left this for the end (if they did something about it at all). But for a product, being able to spot errors and fix them quick is crucial: almost no user will notify you that they found an error. They will just leave.

4. DNS: CloudFlare

I’m so used to CloudFlare that I almost forgot to include it. It’s a great service to manage your DNS and cache your static content to offload your AWS resources, paying even less.

With this tools you can have a very complex product, having zero expenses while there’s no or little traffic, and also be scalable for when you get lucky and all those users start pouring in.