AppTweak

AppTweak

Tech team

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.
  • 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! 

AppTweak
AppTweak

Employee breakdown

  • Back-end:

    28%

  • Data science

    13%

  • Product

    14%

  • Design

    27%

  • QA

    3%

Technologies and tools

Backend

  • Ruby
    Ruby
    100%
  • Sinatra
    Sinatra
    90%
  • MySQL
    MySQL
    80%
  • Ruby On Rails
    Ruby On Rails
    50%
  • PostgreSQL
    PostgreSQL
    50%
  • Redis
    Redis
    30%
  • MongoDB
    MongoDB
    25%
  • Elasticsearch
    Elasticsearch
    15%

Frontend

  • React JS
    React JS
    100%

Devops

  • Kubernetes
    Kubernetes
    100%
  • Docker
    Docker
    100%
  • AWS
    AWS
    100%

Data

  • Python (Data Science)
    Python (Data Science)
    100%
  • Grafana
    Grafana
    100%
  • Amazon Redshift
    Amazon Redshift
    20%

Monitoring

  • Airbrake
    Airbrake
    100%

Organization and methodologies

AppTweak’s Dev and Data Science teams are organized into 7 squads. A squad is a cross-functional team that has full ownership and autonomy over a specific area of the AppTweak tool.

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 squad showcases recently-released features to the whole AppTweak team.
  • Debug: bugs are managed on a weekly basis, on Thursday.

Projects and tech challenges

  • Data Science
Data Science

Data Science

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 on GPUs and need to optimize all this CUDA sorcery.

We build and maintain REST APIs to serve the predictions of our algorithms, ensuring we meet the speed requirements of the software.

  • Front-end

    Our whole frontend layer has been modernized and is now built using ReactJS with Redux and sagas 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. 

Front-end

Our whole frontend layer has been modernized and is now built using ReactJS with Redux and sagas 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. 

Front-end

Recruitment process

  • 40-min interview with the Talent acquisition manager.
  • 1-hour interview with the Hiring Manager
  • Take-home test

  • 1 final interview to debrief the case