Our Tech Stack
Discover the passionate individuals behind our tool and the technologies that fuel it.
Trusted by more than 1,700 mobile leaders worldwide
AppTweak helps companies gather and analyze data on their app and game performance on the App Store and Google Play.
To do so, we:
- Gather gigabytes of data every day through ETL pipelines.
- Store and organize this data in a wide range of databases.
- Build algorithms and models that generate relevant predictions and insights for our clients.
- Make these data and insights available through API calls.
- Craft intuitive and easy-to-use visualization that leverages these API calls.
We deploy these workers and services through docker containers running on Kubernetes. This makes us tech agnostic and allows us to use the best libraries and languages for each service; we love Ruby and use it as much as we can but we aren’t afraid to try new things!
Discover our tech team
Meet Alex, CTO at AppTweak
Meet the squads 👋
AppTweak’s Dev and Data Science teams are organized into 9 squads.
A squad is a cross-functional team that has full ownership and autonomy over a specific area of the AppTweak tool.
- Visibility Squad
- Provide app and game publishers with actionable insights to monitor and improve their apps’ visibility on the app stores.
- Lead Gen Squad
- Increase traffic towards the AppTweak website and encourage leads to start free trials.
- Customer Lifecycle Squad
- Ensure a smooth navigation throughout the AppTweak tool & strive for user activation and retention.
- Analytics Squad
- Help users measure the performance of their apps on the app stores across markets and against other apps.
- Conversion Squad
- Provide app and game publishers with the necessary tools to optimize their apps’ conversion rates on the app stores.
- DeSy Squad
- Provide tools and processes to help other squads consolidate the consistency of our U.I. across all our digital products.
- API Squad
- Potentiate the AppTweak API to extend its client base and develop strategic partnerships.
- QAWAII Squad
- Improve AppTweak’s infrastructure and tools, and support & share knowledge among squads.
- Data Science Squad
- Support the growth of other squads by providing data-driven algorithms and analyses.
How we work
Each squad decides how they organize themselves—but in general, they each set up 2-week sprints with the following rituals:
- Stand-ups: daily or several times a week, depending on the squad.
- Sprint plannings and retrospectives to start and end each sprint.
- Demo days: every month, the squads showcases upcoming or recently-released features for the whole AppTweak team.
- Debug: bugs are managed on a weekly basis, on Thursday.
Technologies we use
Advanced technologies allow our developers and data scientists to enhance their own skills and develop our tool in the most efficient way possible.
- SAAS product is a Ruby on Rails application serving a React Single Page Application.
- Scrapers and crawlers get their tasks from SQS queues and store data in a mix of MySQL, Redshift, MongoDB, PgSQL, and Elasticsearch databases. They are built using the Ruby programming language (without Rails).
- JSON REST APIs are also built in Ruby using the Sinatra lightweight framework.
- Code deployment: concourse as a CI/CD pipeline to build Docker images deployed on a Kubernetes cluster hosted on AWS.
- We monitor everything using Prometheus and Grafana to visualize time series and metrics in an efficient manner.
- Single Page Application based on React/Redux/Redux-sagas, written in TypeScript with the standard tooling (Webpack, Babel, ES6, ESLint, and Prettier).
- The front-end consumes a REST API built on Ruby on Rails.
- Strong CI/CD pipeline using concourse and Docker images.
- In-house design system providing UI components and guidelines to use across the tool.
- Most of our machine-learning models are built with Fastai/Pytorch or Scikit-Learn.
- Prophet usually does a good job at helping us understand our time series.
- Data analysis and exploration is performed with Pandas and Numpy.
- Most of the data that fuels our algorithms is stored in MySQL databases or MongoDB.
- We wrap our algorithms in JSON REST APIs built with Flask.
- We deploy using Docker images on a Kubernetes cluster hosted on AWS.
Our technical challenges
Our tech team is made up of skilled, talented, and dedicated individuals. Here, we outline some of the underlying challenges they face when working on technical projects at AppTweak.
- We have to build, maintain, and develop scrapers performing millions of HTTP queries every day.
- We depend on data sources that can change without any warning, meaning we have to be ready to make quick fixes at any time.
- We deal with huge amounts of data that prompt a lot of care to guarantee performance.
- We monitor a lot of moving parts and make sure they are all properly working all the time.
- Our whole frontend layer has been modernized and is now built using ReactJS with Redux and Redux-Saga to handle state and data loading. As the main application is now fully in React, we would like to improve our front-end architecture by migrating towards a micro front-end architecture.
- Some parts of the application (like our keyword table) have to display thousands of data, so we always have to keep performance optimization in mind.
- The application constantly evolves with weekly releases. One of our challenges is to maintain a high-quality front-end standard.
- Our projects cover a significant part of the machine learning spectrum: tabular data, clustering, natural language processing, image analyses, time series analyses… Our challenge is to find, understand, and properly use the most promising technologies for each of these fields.
- Some of our algorithms are trained with >500M data points, which require the optimization of convergence and memory management.
- We sometimes train our models on GPUs and need to optimize all the CUDA sorcery that comes with it.
- We build and maintain REST APIs to serve the predictions of our algorithms, ensuring we meet the speed requirements of the software.
Are you interested to join our team?
Discover our job openings and apply today!