We use the open source framework flutter to create fast cross-platform apps for iOS, Android and Desktop.
State management is done with the BloC library.
We implement a very rudimentary version of our app with AngularDart.
We write all of our data models and logic in Dart, which are shared between backend, web and mobile apps.
We use Firebase Cloud Functions, which are written in Dart and then compiled to nodejs.
- We use Firebase Cloud Firestore for storing data.
- For media assets, we use Cloudinary.
Although Firebase is great for commercial projects or to see results fast, we try to become more vendor-independent and want to adjust our stack more towards open standards.
- Cloud Firestore should be replaced by an open-source alternative.
- We plan to rewrite our backend with grpc-based microservices, so users don't write directly to the database but to the grpc endpoint.
- Client libraries for the grpc-API can be automatically generated in different languages (see language support), which lowers the barrier for other people to build on our platform.
- All of the backend should be based on Docker and Kubernetes for orchestration, so it can easily be deployed on many of the big cloud providers or own servers.
but why?
We want to be independent of corporate politics and the availability of their products.
For example GCP is blocked in some countries.