We, Balio, aim to create the platform that helps you to improve your personal finances.
To do so while being a small team with limited resources (as any other startup), we had to choose wisely which technologies would benefit us to reach that goal.
We considered the next key points to choose the technology:
- ✅ Should be a stable technology. We don't want to focus on technological challenges, our focus is the product itself.
- 🔄 Should help us iterate faster. It should be easy to add new features, either by adding an extension or using a third party solution that supports the technology. In addition, it should be easy to remove features that didn't work out.
- 👩💻👨💻 Hiring/Externalizing. We should find talent in our city with experience with the technology. Or, we should find consultancy companies that offers people with expertise with those technologies in a reasonable price.
- 📚 Resources and affordable learning curve. Available learning resources, best practices and good community behind them.
That helped us to ship sooner since some of the default styles were similar to our brand guidelines. We only needed to make a few adjustments to make it "good enough" for us.
We chose React since:
- It's enough stable
- There are good libraries for almost all use cases
- Good tutorials and learning resources
- There are Bootcamps in our area that teach React. So, we have a bigger hiring pool compared to other frontend technologies
Django Rest Framework provides us various things:
- It has a huge community behind
- Most of the issues you find are already solved in Stackoverflow (hehe 🤣)
- Straight forward way to create CRUDs.
We don't need/have complex domain logic yet. We need stupid models, verify that they are used and then, maybe, add complex business logic.
We know that this might backfire us in the future in case the models explode in complexity
- It has different libraries to do most of the things we need, plus some external platforms we use provide a library for Django already.
The support services are often used only by us. They don't require to be stable and they don't usually change.
On the Cloud side, we initially invested 2 weeks in setup everything to be as automated as possible.
We have chosen AWS because it's where we have more experience with.
To setup all the required infrastructure we used Terraform. We chose to do that at the beginning because, in my experience, adding it afterwards might be more painful than earlier.
So, we automated at an early stage:
- Service Deployment
- Continuous Integration Pipeline
We will do another post sharing how we automated this part 😁
We know... we know... 😅. We are working on it. Following post we will share which technology we chose and why 😄.
And you? Which Tech Stack would you had chosen instead?