我们的技术栈

数据驱动型应用商店成功的基石

探索我们工具背后的热情个体和支持它的技术。

Zynga Scopely Amazon The Economist King Adobe

AppTweak 帮助公司收集并分析其应用和游戏在 App Store 和 Google Play 上的表现数据。

为此,我们:

  • 每天通过 ETL 流水线收集数 GB 的数据。
  • 将这些数据存储并组织在各种数据库中。
  • 构建算法和模型,为我们的客户生成相关的预测和 insights。
  • 通过 API 调用提供这些数据和 insights。
  • 利用这些 API 调用精心打造直观且易于使用的可视化界面。
我们通过运行在Kubernetes上的docker容器部署这些工作者和服务。这使我们在技术上保持中立,并允许我们为每个服务使用最佳的库和语言;我们喜欢Ruby并尽可能多地使用它,但我们也不怕尝试新事物!

见见 Alex,AppTweak 的首席技术官

结识 AppTweak. 产品架构师 Frank

结识 AppTweak. 数据科学家 Lionel

认识各个小组

AppTweak 的开发和数据科学团队被划分为 7 个小队(squad)。一个小队是一个跨职能团队,对 AppTweak 工具的特定领域拥有完全的所有权和自主权。

ASO Intelligence squad

他们为应用和游戏发行商提供可操作的 insights,以监控并提高其应用在应用商店中的可见度和转化率。

Apple Ads 团队

他们为 UA 经理提供一个可操作的平台,以创建、监控和优化其 Apple Ads 广告系列。

孵化器小组

他们构建和扩展我们的其他产品线,如 Market Intelligence、应用评论管理器和 Reporting Studio。该小组还负责早期创新和我们的 API 解决方案。

DeSy 小组

他们开发整个平台的设计系统和 GUI 库。

客户生命周期小组

他们负责平台用户从首次接触到产品采用的全程体验 – 包括入门引导、付费墙、激活、扩展等更多内容。

DevEx 小组

他们负责在 AppTweak 打造卓越的开发体验

Data Science Squad

他们通过提供数据驱动的算法和分析来支持其他小队的增长。

加入一个小组

您是否具备将 AppTweak 提升到新水平的素质?

AppTweak 帮助公司收集并分析其应用和游戏在 App Store 和 Google Play 上的表现数据。

我们的工作方式

每个小组决定自己的组织方式,但一般来说,每个小组都会进行为期两周的冲刺,并遵循以下惯例:

  • 站会:每天或每周多次,取决于小组。
  • 冲刺计划和回顾会议,用于开始和结束每个冲刺。
  • 演示日:每个月,各小队都会向整个 AppTweak 团队展示即将推出或最近发布的特性。
  • 调试:每周四处理错误。

我们使用的技术

先进的技术让我们的开发人员和数据科学家能够提升自身技能,并以最高效的方式开发我们的工具。

  • 基于React/Redux/Redux-sagas的单页应用程序,使用TypeScript编写,采用标准工具(Webpack、Babel、ES6、ESLint和Prettier)。
  • 前端使用基于 Ruby on Rails 构建的 REST API。
  • 使用concourse和Docker镜像的强大CI/CD管道。
  • 内部设计系统,提供可在整个工具中使用的UI组件和指南。
Grape 标志
  • SAAS 产品是一个 Ruby on Rails 应用程序,为 React 单页应用程序提供服务。
  • 爬虫和抓取器从 SQS 队列获取任务,并将数据存储在 MySQL、ClickHouse、MongoDB、PgSQL、Typesense 和 Elasticsearch 数据库的组合中。它们使用 Ruby 编程语言构建(不使用 Rails)。
  • JSON REST API也使用轻量级框架Grape用Ruby构建。
  • 代码部署:使用concourse作为CI/CD管道,构建部署在AWS上托管的Kubernetes集群上的Docker镜像。
  • 我们使用 Prometheus 和 Grafana 来监控一切,以高效的方式可视化时间序列和指标。

  • 我们大多数的机器学习模型都是用 Fastai/Pytorch 或 Scikit-Learn 构建的。
  • Prophet 通常在帮助我们理解时间序列方面做得很好。
  • 数据分析和探索是使用 Pandas 和 Numpy 完成的。
  • 为我们算法提供支持的大部分数据都存储在 MySQL 数据库或 MongoDB 中。
  • 我们使用 Flask 构建的 JSON REST API 来封装我们的算法。
  • 我们使用 Docker 镜像在 AWS 托管的 Kubernetes 集群上部署。
  • 您选择的编码助手(copilot/zed/cursor/…)

  • 以编程方式访问主要的 LLM 提供商(如 OpenAI、Anthropic)进行探索和交付

  • 来与我们一起构建 AI 代理系统!

您是否具备将 AppTweak 提升到新水平的素质?

我们的技术挑战

我们的技术团队由熟练、有才华和敬业的个人组成。在这里,我们概述了他们在 AppTweak. 进行技术项目工作时面临的一些基本挑战

后端
  • 我们必须构建、维护和开发每天执行数百万次 HTTP 查询的爬虫。
  • 我们依赖于可能在没有任何预警的情况下发生变化的数据源,这意味着我们必须随时准备好进行快速修复。
  • 我们处理海量数据,这需要投入大量精力来保证性能。
  • 我们监控许多活动部件,并确保它们始终正常运行。
前端
  • 我们的整个前端层已经过现代化改造,现在使用 ReactJS 结合 Redux 和 Redux-Saga 来处理状态和数据加载。 由于主应用程序现在已完全采用 React,我们希望通过向微前端架构迁移来改进我们的前端架构。
  • 应用程序的某些部分(例如我们的关键词表)必须显示数千条数据,因此我们必须始终牢记性能优化。
  • 应用程序随着每周的发布不断演进。 我们的挑战之一是维持高质量的前端标准。
数据科学
  • 我们的项目涵盖了机器学习领域的很大一部分:表格数据、聚类、自然语言处理、图片分析、时间序列分析……我们的挑战是寻找、理解并正确使用每个领域中最具前景的技术。
  • 我们的一些算法是使用 >5 亿个数据点训练的,这需要优化收敛和内存管理。
  • 我们有时在 GPU 上训练我们的模型,需要优化所有与之相关的 CUDA 魔法。
  • 我们构建和维护 REST API 来提供我们算法的预测,确保满足软件的速度要求。

有兴趣加入我们的团队吗?

发现我们的职位空缺并立即申请!

AppTweak SA
avenue Louise 235
Brussels , , 1050 Belgium
https://www.apptweak.com https://apptweak-blog.imgix.net/2023/04/apptweak-logo-o.svg
app store marketing, aso