How we work

Tech stack

Thanks to a state-of-the-art tech stack – mainly written in Golang, TypeScript, and Scala – which is deployed by Gitlab CI to modern container orchestration systems, our event-driven backend platform handles over few billion requests and/or events daily.
Rest API
1500 Mio. Requests / day
Hundreds million of mobile devices are getting served by our apis and we are providing a global failsafe backend infrastructure
AWS Load Balancer
distributes the incoming requests to the right target
CONTAINER ORCHESTRATION SYSTEM
Kubernetes
~200 services running
~1000 tasks on
~200 EC2 nodes
Our tech stack is fully containerized and we run everything from business applications, messaging, databases and monitoring systems in Kubernetes.
Golang Container
200 services running
We chose Golang as our primary language as it is a modern tool to build simple, reliable and efficient software. Furthermore it’s built for high concurrency, performance and throughput. Another big advantage is that Golang compiles into small binaries which have a small memory footprint and result in very small docker containers.
Fluentbit Container
Billions of logs per day
FluentBit is our main log processor and forwarder which makes all application logs from the ECS services available in our monitoring system.
Argo CD
Argo CD is our tool of choice to handle continuous delivery to kubernetes and to enable automated deployments and synchronization of applications following a modern GitOps approach.
EVENT LAYER
AWS SNS/SQS
More than a million events per minute
we believe in event-driven architecture, our main event bus system is SNS+SQS
AWS DynamoDB Streams
Makes it easy to generate events based on DynamoDB database activity
AWS Kinesis
Billions of records and 2 TB of data per day
Large-scale event streaming
LOGGING AND METRICS LAYER
Elasticsearch & Kibana
billions of log events processed, stored and viewable – thanks to self-hosted Elastic
Grafana
Awesome dashboard for our metrics
AWS Cloudwatch
Observability plays a big role in our stack. Cloudwatch is our main pillar in regards to collecting and analysing metrics not only for the AWS services itself but also all of our golang applications are emitting a lot of data points to give meaningful insights.
Sentry
In addition to logging application errors we’re using Sentry as our error tracking software to get an easy overview of what’s going wrong in the system.
AWS Xray
Logs and metrics are not enough? Tracing is another important part to provide observability in a distributed system. The X-Ray SDK supports us in instrumenting the golang applications to get traces.
Grafana Mimir
We have thousands of metrics to process, store and analyse. Mimir is our Prometheus compatible time-series database to store and query every single datapoint for full observability.
Keep
With Keep we are combining our multiple metric and data sources into a unified alert workflow to be immediately aware of what happens when and notify the right person.
DATABASE LAYER
Redis
Millions of queries per minute
One of the most popular in-memory databases out there. We do a lot of key value lookups for which we use redis as part of our caching layer.
AWS DynamoDB
~300 tables in use
For all high traffic and business critical frontend facing applications, we’re using multiple hundred DynamoDb tables as persistence layers which are handling over a million reads and writes per minute.
MySQL
1 TB data
No system without a relational database. Of course we have these, too. Perfect fit for handling the entity management of our internal management applications with low traffic which don’t need auto scaling.
Apache druid
10 times faster than redshift
The engine which powers the dashboard our customers use to access their data. A powerful analytics database which provides interactive real time queries with sub second response times.
TiDB
multiple TB data
TiDB is an open-source, distributed SQL database that supports Hybrid Transactional/Analytical Processing (HTAP) and is MySQL-compatible, offering high scalability, strong consistency, and cloud-native deployment.
BIG DATA
Data Lake Pipeline
Apache Kafka
Billions of records and 2 TB of data per day
Apache Kafka is an open-source distributed event streaming platform and is used in our data processing layer to combine our Apache Flink applications into our analytics cluster.
AWS Glue
Glue is the backbone of this pipeline, holds schema and table information that is used for processing as well as for querying.
Apache Flink
Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Perfect fit for running ETL applications, session computation, anomaly detection and creating input for our AI models.
Data Science
Apache Spark
Hundreds of cpus in use
Spark is used for handling ad hoc analytics, transformations and migrations in our data lake and on arbitrary files in S3. With increasing data size this tool turns into an inevitable one.
Jupyter
JupyterLab is the latest web-based interactive development environment for notebooks, code, and data. We use it daily to query our data lake via spark and do ad hoc analytics.
Apache Airflow
Do we need a task executed at a specific point in time? Airflow is our scheduler to orchestrate even the most complex job graphs.
AWS Athena/Presto
Presto, fully managed in AWS Athena, is the first choice of running queries in our data lake, is a distributed SQL query engine for running interactive analytics queries against data sources of all sizes ranging from gigabytes to petabytes.
Deep Storage
AWS S3
300 TB data
S3 is used for justtrack and is our persistence layer for everything which isn’t going into a database. Especially with the support of the Hadoop Distributed File System (HDFS) it makes it quite easy to use it as storage layer for our data lake.
Rest API
1500 Mio. Requests / day
Hundreds million of mobile devices are getting served by our apis and we are providing a global failsafe backend infrastructure
AWS Load Balancer
distributes the incoming requests to the right target
CONTAINER ORCHESTRATION SYSTEM
Kubernetes
~200 services running
~1000 tasks on
~200 EC2 nodes
Our tech stack is fully containerized and we run everything from business applications, messaging, databases and monitoring systems in Kubernetes.
Golang Container
200 services running
We chose Golang as our primary language as it is a modern tool to build simple, reliable and efficient software. Furthermore it’s built for high concurrency, performance and throughput. Another big advantage is that Golang compiles into small binaries which have a small memory footprint and result in very small docker containers.
Fluentbit Container
Billions of logs per day
FluentBit is our main log processor and forwarder which makes all application logs from the ECS services available in our monitoring system.
Argo CD
Argo CD is our tool of choice to handle continuous delivery to kubernetes and to enable automated deployments and synchronization of applications following a modern GitOps approach.
EVENT LAYER
AWS SNS/SQS
More than a million events per minute
we believe in event-driven architecture, our main event bus system is SNS+SQS
AWS DynamoDB Streams
Makes it easy to generate events based on DynamoDB database activity
AWS Kinesis
Billions of records and 2 TB of data per day
Large-scale event streaming
BIG DATA
Data Lake Pipeline
Apache Kafka
Billions of records and 2 TB of data per day
Apache Kafka is an open-source distributed event streaming platform and is used in our data processing layer to combine our Apache Flink applications into our analytics cluster.
AWS Glue
Glue is the backbone of this pipeline, holds schema and table information that is used for processing as well as for querying.
Apache Flink
Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Perfect fit for running ETL applications, session computation, anomaly detection and creating input for our AI models.
Data Science
Apache Spark
Hundreds of cpus in use
Spark is used for handling ad hoc analytics, transformations and migrations in our data lake and on arbitrary files in S3. With increasing data size this tool turns into an inevitable one.
Jupyter
JupyterLab is the latest web-based interactive development environment for notebooks, code, and data. We use it daily to query our data lake via spark and do ad hoc analytics.
Apache Airflow
Do we need a task executed at a specific point in time? Airflow is our scheduler to orchestrate even the most complex job graphs.
AWS Athena/Presto
Presto, fully managed in AWS Athena, is the first choice of running queries in our data lake, is a distributed SQL query engine for running interactive analytics queries against data sources of all sizes ranging from gigabytes to petabytes.
Deep Storage
AWS S3
300 TB data
S3 is used for justtrack and is our persistence layer for everything which isn’t going into a database. Especially with the support of the Hadoop Distributed File System (HDFS) it makes it quite easy to use it as storage layer for our data lake.
LOGGING AND METRICS LAYER
Elasticsearch & Kibana
billions of log events processed, stored and viewable – thanks to self-hosted Elastic
Grafana
Awesome dashboard for our metrics
AWS Cloudwatch
Observability plays a big role in our stack. Cloudwatch is our main pillar in regards to collecting and analysing metrics not only for the AWS services itself but also all of our golang applications are emitting a lot of data points to give meaningful insights.
Sentry
In addition to logging application errors we’re using Sentry as our error tracking software to get an easy overview of what’s going wrong in the system.
AWS Xray
Logs and metrics are not enough? Tracing is another important part to provide observability in a distributed system. The X-Ray SDK supports us in instrumenting the golang applications to get traces.
Grafana Mimir
We have thousands of metrics to process, store and analyse. Mimir is our Prometheus compatible time-series database to store and query every single datapoint for full observability.
Keep
With Keep we are combining our multiple metric and data sources into a unified alert workflow to be immediately aware of what happens when and notify the right person.
DATABASE LAYER
Redis
Millions of queries per minute
One of the most popular in-memory databases out there. We do a lot of key value lookups for which we use redis as part of our caching layer.
AWS DynamoDB
~300 tables in use
For all high traffic and business critical frontend facing applications, we’re using multiple hundred DynamoDb tables as persistence layers which are handling over a million reads and writes per minute.
MySQL
1 TB data
No system without a relational database. Of course we have these, too. Perfect fit for handling the entity management of our internal management applications with low traffic which don’t need auto scaling.
Apache druid
10 times faster than redshift
The engine which powers the dashboard our customers use to access their data. A powerful analytics database which provides interactive real time queries with sub second response times.
TiDB
multiple TB data
TiDB is an open-source, distributed SQL database that supports Hybrid Transactional/Analytical Processing (HTAP) and is MySQL-compatible, offering high scalability, strong consistency, and cloud-native deployment.
Why justtrack?

Be part of our journey

We’re always looking for talented individuals who share our passion for innovation and data-driven growth. Want to make an impact? Explore our open roles and join the justtrack team.

See open roles