Technologies
We build our apps with Ruby on Rails. A robust, well written, documented, battle tested, actively developed web framework. It’s our go-to tool for new development.
The database of choice is PostgreSQL. Again, a very capable, yet extremely reliable open source project, whose development has accelerated in recent years.
Our front-end is powered by React, Typescript and GraphQL. We love it.
The same GraphQL API is also what our mobile clients, written in Kotlin and Swift respectively, use as well.
We have 20+ Machine Learning models deployed to production. Naturally, those are written using Python and we use many of the cool tools in the ecosystem - PyTorch for neural networks, scikit-learn for “classical” ML models, pandas for data wrangling, DVC for tracking datasets, models and pipelines, Jupyter notebooks for experiments and so on…
Our code is organized in services communicating over HTTP. We don’t buy the micro-services hype and prefer to build chunkier, vertical applications. We call this service-oriented architecture.
All of those services are hosted in AWS (yep, we have 0 physical servers) and managed through Infrastructure as code. So expect to find Kubernetes, Docker, Terraform, Ansible and a bunch of other good tools put to work.
Of course, everything is tracked using Git and is pushed to GitHub. And deployment happens
via a single git push
. Even on production!