We’ll build it mostly in Rust with a bit of Java (Spark and Flink) and Python (Airflow) and deployed on AWS and Kubernetes.
| Scope | Solution |
|---|---|
| REST API, gRPC | axum, tonic |
| Websocket | tokio-tungstenite |
| DB | RDS, ScyllaDB, Google Cloud Spanner, Neo4j |
| Local app DB | SurrealDB |
| Browser app | egui, wasi, wasm-bindgen, rencfs, pgp |
| Local app desktop | egui, mainline, transmission_rs, cratetorrent/rqbit, quinn, rencfs, pgp, fuse3 |
| Local app mobile | Kotlin Multiplatform |
| Sync daemon | tokio, rencfs, gdrive-rs, git2, rclone, Flink |
| Use Kafka | rdkafka |
| Keycloak | axum-keycloak-auth (in app token verificaton) or Keycloak Gatekeeper (reverse proxy in front of the services) |
| Event Bus | Kafka / Amazon SQS / RabbitMQ |
| Streaming processor | Flink |
| File storage | S3 |
| Search and Analytics | ELK, Apache Spark, Apache Flink, Apache Airflow |
| Identity Provider | Keycloak |
| Cache | Redis |
| Deploy | AWS Lambda and Amazon EKS |
| Metrics | Prometheus and Grafana Mimir |
| Tracing | Prometheus and Grafana Tempo |
| Logs | Grafana Loki |