当社のテックスタック
AppTweakのツールや技術の開発を手がけている当社のテックチームについてご紹介
2,000社以上のアプリ担当者が選ぶアプリのユーザー獲得プラットフォーム
AppTweakは、App StoreやGoogle Play上にあるアプリやゲームのパフォーマンスにまつわるデータの収集や分析をサポートします。
テックチームの取り組み:
- ETLパイプラインを通じた日々のギガバイト単位のデータ収集
- 収集したデータをさまざまなデータベースにて保管・整理
- お客様が活用できるような関連性が高く正確な予測データやインサイトを抽出するためのアルゴリズムモデルの構築
- APIの呼び出しにより、これらのデータやインサイトにアクセスできるよう設定
- APIの呼び出しを効果的にする使いやすいデータビジュアリゼーションの作成
これらのワーカーおよびサービスは、Kubernetesで実行しているDockerコンテナによりデプロイされます。こうすることによりテクノロジーにとらわれることなく、各サービスに最適なライブラリと言語を使用することができます。AppTweakではRubyをできる限り使用していますが、新しいものを試すことにためらいはありません!
技術チームについて
-
バックエンド15
-
フロントエンド10
-
データ5
サイエンス
-
ウェブ1
デベロッパー -
QA4
-
ペット9
AppTweakのCTO、Alexのご紹介
Squadのご紹介👋
AppTweakの開発・データサイエンスチームは、9つのSquad (スクワッド) で編成されています。
AppTweakツールの各領域につき、クロスファンクショナルチームで構成されたSquadがあり、Squadはそれぞれ責任者として担当エリアを管理します。
- Visibility Squad
- アプリとゲームパブリッシャーに、アプリストアでアプリの可視性をモニタリングして向上するために実行可能なインサイトを提供します。
- Lead Gen Squad
- AppTweakウェブサイトへのトラフィックを増加させ、無料トライアルを開始するリードを奨励します。
- Customer Lifecycle Squad
- AppTweakツール全体でのスムーズなナビゲーションを確保し、ユーザーのアクティブ化および維持のために努めます。
- Analytics Squad
- マーケット全体および他のアプリに対して、アプリストアでのアプリのパフォーマンスをユーザーが測定できるようにします。
- Conversion Squad
- アプリおよびゲームパブリッシャーに、アプリストアでのアプリのコンバージョン率を最適化するために必要なツールを提供します。
- DeSy Squad
- 他のSquadが当社のすべてのデジタル製品全体でUIの一貫性を統合できるように、ツールとプロセスを提供します。
- API Squad
- AppTweak APIを強化し、クライアントベースを拡張して戦略的パートナーシップを構築します。
- QAWAII Squad
- AppTweakのインフラストラクチャとツールを改善し、Squad間でサポート、および知識を共有します。
- Data Science Squad
- データ駆動型アルゴリズムと分析を提供して、他のSquadの成長をサポートします。
当社のしくみ
各Squadはどのように編成するかを独自に決定しますが、一般的にはそれぞれが次の行事を含む2週間のスプリントを設定します。
- Stand-up: Squadによりますが、毎日または1週間に数回行います。
- スプリントプラニング・振り返り 各スプリントの前後に実施する
- Demo day: 毎月、SquadはAppTweakチーム全体に向けてリリース予定または最新リリースの機能を紹介します。
- デバッグ: 毎週木曜日に行うバグ管理
当社が使用するテクノロジー
先進的なテクノロジーを駆使することにより、当社のデベロッパーやデータサイエンティストは自身のスキルを高めながら、最も効率的な方法でツール開発に挑めます。
-
バックエンド
- SAAS製品は、Reactのシングルページアプリケーションを提供しているRuby on Railsアプリケーションです。
- スクレーパーとクローラーはSQSクエリからタスクを受け取り、MySQL、Redshift、MongoDB、PgSQL、Elasticsearchなど、さまざまなデータベースにデータを保管します。スクレーパーとクローラーは、Rubyプログラミング言語 (Railsなし) を使用して構築されています。
- また、JSON REST APIはSinatra軽量フレームワークを使用してRubyで構築されています。
- コードのデプロイ: CI/CDパイプラインベースのConcourseで、AWSでホストされたKubernetesクラスターにデプロイされるDockerイメージをビルドします。
- PrometheusとGrafanaを使用するすべてをモニタリングし、時系列とメトリクスを効率的な方法で可視化します。
-
データ
サイエンス- 当社の機械学習モデルの大部分は、Fastai/PytorchまたはScikit-Learnで構築されています。
- Prophetは、当社の時系列を理解するのに通常かなりうまく機能します。
- データ分析と調査は、PandasおよびNumpyで実行されます。
- アルゴリズムに取り込まれるデータの大部分は、MySQLデータベースまたはMongoDBに保管されます。
- Flaskで構築したJSON REST APIでアルゴリズムをラップします。
- AWSでホストされたKubernetesクラスターでDockerイメージを使用してデプロイします。
-
フロントエンド
- 標準ツール (Webpack、Babel、ES6、ESLint、およびPrettier) を使用してTypeScriptで作成された、React/Redux/Redux-sagasをベースにしたシングルページアプリケーション。
- フロントエンドは、Ruby on Railsで構築されたREST APIを利用します。
- concourseとDockerイメージを使用した強力なCI/CDパイプライン。
- 社内デザインのシステムで、ツール全体で使用するUIコンポーネントとガイドラインを提供します。
技術的な課題
当社技術チームは、熟練した、才能あふれる、専任の個人で構成されています。ここに、AppTweakで技術的なプロジェクトに取り組む際に彼らが直面する根底にある課題の一部をまとめました。
バックエンド
- 毎日数百万ものHTTPクエリを実行するスクレーパーを構築、保守、および開発する必要があります。
- 何の警告もなしに変更する可能性があるデータソースに依存しており、いつでもすばやく修正する準備ができている必要があります。
- 莫大な量のデータを処理し、パフォーマンスを保証するためにかなりの手間をかける必要があります。
- 多くの作動部分をモニタリングし、常にすべてが適切に機能していることを確かめます。
フロントエンド
- フロントエンドレイヤー全体が収益化され、ステートとデータの読み込みを処理するために、 現在はReduxとRedux-Sagaを使用してReactJSで構築されています。メインのアプリケーションは完全にReactで構築されているため、マイクロフロントエンドアーキテクチャへと移行することで、フロントエンドアーキテクチャを改善したいと考えています。
- アプリケーションの一部 (キーワードテーブルなど) に何千ものデータを表示する必要があるため、常にパフォーマンスの最適化を念頭に置く必要があります。
- アプリケーションは毎週リリースされ、絶えず進化しています。当社の課題の1つは、高品質のフロントエンド基準を維持することです。
データ
サイエンス
- 当社のプロジェクトは、表形式データ、クラスタリング、自然言語処理、画像分析、時系列分析など、機械学習スペクトラムのかなりの部分に及んでいます。これらの各分野に最も有望なテクノロジーを発見し、理解し、適切に使用することが当社の課題です。
- 当社のアルゴリズムの一部は5億以上のデータポイントでトレーニングされ、収束とメモリ管理の最適化を必要とします。
- 場合によってはモデルをGPUでトレーニングし、それに伴うすべてのCUDAプログラムを最適化する必要があります。
- アルゴリズムの予測に役立つREST APIを構築および維持し、ソフトウェアの速度要件を満たしていることを確認します。
AppTweakチームの一員として、
一緒に働きませんか?
求人情報をチェックして、今すぐ応募!