フロントエンド開発の領域拡大──「濃密に深いファンダム」を支える技術基盤とAI活用の実践

サイバーエージェントのFanTech事業本部は、テクノロジーでアーティストとファンの絆を深めることを目指し、濃密で深いファンコミュニティの育成を大切にしています。中でもFANBASE事業部では、各アーティストの世界観を守りつつ、共通基盤のスケーラビリティと効率化を両立することが求められます。Webフロントエンドチームの中川と林は、開発生産性を飛躍的に高める技術を導入し、AIを活用したデータ取得の自動化も実現しました。本記事では、アーティストとファンの体験を支える技術戦略に迫ります。
Profile
-
中川 開登 (FanTech事業本部 FANBASE事業部)
2021年新卒入社。FanTechプラットフォームの一環としてFANBASEのWebフロントエンド開発のリードを行う。Next.jsをベースとしたフロント開発をはじめとした各種機能の設計・実装やサーバー・インフラなどの領域も担当している。 -
林 賢二郎 (FanTech事業本部 FANBASE事業部)
2023年新卒入社。新卒配属からFANBASE事業部に所属し、「FANBASE ARENA」のフロントエンド開発を担当。最近は特にUI/UXデザインに興味あり。
アーティスト × ファンをつなぐ技術基盤と開発戦略
── お二人のエンジニアとしてのバックグラウンドをお聞かせください。
中川:2021年にサイバーエージェントに新卒入社し、FANBASE事業部でWebフロントエンドのチームリーダーを務めています。Webフロント全般の機能開発や継続的な開発環境の構築を担当し、現在はサーバーやインフラ領域にも担当範囲を広げています。
林:2023年入社で新卒からFANBASE事業部に所属しています。プロデューサーやコミュニティマネージャー、クリエイティブディレクターといった、ファンとアーティストをつなぐ職種の方々と近い距離感でエンジニアリングしたいと考え、FANBASE事業部を配属先に選びました。現在は中川さんからWebチームリーダーの役割を引き継ぎ、プロダクトの開発効率化やAI活用による生産性向上に取り組んでいます。
── FANBASE事業部について、事業特性と技術的な取り組みを教えてください。
中川:FANBASE事業部は、多様なアーティストやアイドル、タレントの方々それぞれが求める独自のファンコミュニティのニーズを集約し、それを実現するプラットフォーム「FANBASE」を運営しています。
従来の幅広いファン層獲得に加え、アーティストに深く共感する「濃密で深いファンダム」の育成を重視しており、各アーティストの世界観や特色を活かしたサービス展開を行っています。
林:例えば、あるアーティストはライブ配信機能を重視し、別のアーティストはファン同士の交流機能を求めるといった具合に、それぞれ異なるニーズがあります。これらの多様な要求を一つのプラットフォーム「FANBASE」上で実現しながら、各アーティストの独自性を保つことが技術的な挑戦であり、開発基盤設計の核心でもあります。
中川:開発にあたっての最も重要な方針は、どのサービスにも展開できる機能を設計・実装することです。現在「FANBASE」では4つのIPで5つのサービスを展開しており、新しいサービスも開発中です。少人数でこれらの新規開発と保守を担当するには、単発の対応では開発効率を高められません。
一つのサービス専用の機能ではなく、どのサービスでも汎用的に流用できる形で実装することを徹底しています。これにより、一つのサービス向けに開発した機能を他のサービスにも展開でき、すべてのサービスが並行して進化し続けられる環境を実現しています。
林:例えば、各サービスごとに「価値をどう高めていくか」を考える過程で生まれた機能を他のサービスにも展開できるよう共通化設計する部分が、技術的にハードルも高く、面白い挑戦でもあります。一つの技術的解決策が複数のアーティストとファンの体験向上に直結するため、エンジニアとしての技術的な成長と、事業への貢献を同時に実感できる環境だと思います。

アーティストの特色を保つスケーラブルアーキテクチャ
── 「FANBASE」に共通基盤がありつつも、各アーティストサイトの特色は異なります。品質を担保しつつスケーラブルなものを維持するために、フロントエンドではどのような工夫をされているのでしょうか。
林:まず、各アーティストで求められる世界観やブランドイメージが根本的に異なることです。例えば、あるアーティストは力強く情熱的な世界観を表現したいが、別のアーティストは温かみのある親しみやすさを重視するといった具合に、同じUIコンポーネントでも表現したい雰囲気が全く違います。
そこで独自のカラーシステムを採用しています。それぞれのサービスの特徴に合った色を同じ形式で定義することで、一つのソースコードで同じキーを参照した時に、サービスごとに異なる色が自動的に割り当てられる仕組みです。この仕組みのおかげで、サービスごとにコンポーネントを作り分けずに共通化できます。これにより、アクセシビリティやデザイン品質も同時に担保できる構造になっています。
中川:コンテンツレベルでの違いも加味する必要がありました。同じ「トップページ」でも、あるアーティストはファン同士の交流を重視してコミュニティ機能を中心に配置したい一方、別のアーティストは最新情報の発信を重視してニュース機能をメインにしたいといった要望があります。従来の設計では、こうした要望に対してプログラムによる条件分岐が増え、処理が複雑化してしまう問題がありました。
これを解決するために、条件分岐を多用せず、インターフェースで状態を出し分ける設計を重視しています。また、状態を出し分ける環境変数は最低限の数だけ使うように制限した上で、サービス毎の全ての状態は TypeScript 上の型システムに集約していたりと、様々な工夫を施しています。
こういったサービス毎の「最適化」を実現するための設計によって、同じページでも表示するコンテンツが根本的に異なるケースでも処理が複雑にならず、サスティナブルに開発し続けられます。また、より多くのサービスを展開するシチュエーションでも開発スピードを下げることなく事業の成長を加速させることが可能になっています。
── 複数のサービスを並行して運用する中で、開発生産性の面ではどのような課題に直面されましたか。
中川:開発を進めた結果、いくつかの新たな課題が生まれました。例えば、複雑な機能を提供するコンポーネント・モジュールの数が増えた影響で、開発に伴うサービスに対する変更を把握しきれなくなって行ったことが挙げられます。1つのサービスならまだしも、複数サービスでそれぞれカラーテーマ・文言・UIが異なるので手作業で変更を追うのは時間を要します。これを解決するため、テストに注力しFeature Flag ごとにE2E テストを実行したり、サービス毎にVRT(Visual Regression Test)を実行するなどのいくつかの工夫を施しています。
加えて、そこでさらに発生した課題は、新しいサービスが増えるたびにCI/CDでの実行時間が延びてしまうことです。例えばVRT(Visual Regression Test)では、全てのプロセスが完了するまでに30分もかかる状態でした。そこで、Pull Requestによって変更された必要な差分だけを検査する最適化を行うなどをして、現在では4分程度で実行できるようになり、開発生産性を大幅に向上させています。
林:同様に、複数のサービスを管理するモノレポ構成において、ビルド前のコードチェック時間の長期化が課題でした。「今後、サービスの横展開でリポジトリが大きくなっても、開発体験を悪化させたくない」という思いから、近年業界で注目されるRust製ツールに着目しました。
中でも「oxlint」は、圧倒的な速度はもちろん、既存ルールをそのまま活かせるESLint互換性の高さから、安全かつスムーズな移行が見込める点が決め手でした。移行に際しては、従来のESLintを一時的に並行稼働させる「段階的移行」のアプローチを取り、検知漏れなどのリスクを最小限に抑えています。
結果、ローカル環境で77秒かかっていた処理は5秒に短縮され、開発者のフィードバックループが劇的に改善されました。サービス規模の拡大を見据え、今後もこのような開発体験の良い環境づくりを積極的に行っていきます。

大規模並行開発を支える仕組み。トランクベース開発とFeature Flagの活用術
── 開発生産性を高める取り組みをお聞きしましたが、運用の効率化においてどんな工夫をしていますか?
中川:「FANBASE」のサーバーはFanTechで開発している共通基盤を利用しています。そのため、管理画面もすべて一つのソースコードで構築しており、それを複数の事業部で利用している状況です。これを円滑に運用するため、インナーソースという仕組みを活用しています。オープンソース開発の知見を社内開発に取り入れることで、異なる事業部が同じ方向に向かってコントリビュートし、組織のサイロ化を防いでいます。
また、3事業部での並行開発を効率化するため、トランクベース開発を導入し、基本的に一つのブランチにマージを継続する構成で、コントリビュートしやすさと認知コスト削減を実現しています。
── 基盤開発におけるトランクベース開発を行う際のコツや工夫について教えてください。
中川:良かった点はFeature Flagを活用したことです。各事業部が有効化したい機能を自由にカスタマイズできるよう、Feature Flagを抽象化したものを管理しています。開発環境では機能を表示したいが本番環境ではまだリリースしたくないといった細かいカスタマイズが可能な設計にすることで、複数事業部の異なる開発ペースに対応できています。
Feature Flagシステムは自社開発していて、こちらも同様にTypeScriptで管理する設計にしています。誤った設定を行うとコンパイル自体が失敗し、誤ったデータ入力もできない堅牢なシステムにすることで、大規模運用でも安全性を保てています。
林:ユーザー向け機能でも活用しており、各サービスごとにFeature Flagファイルを整理しているため、将来の改修コストとなる技術的負債を生むことなく、「このサービスではこの機能をリリースしたいが、別のサービスでは導入したくない」といったサービスごとの細かいニーズに柔軟に対応できます。
中川:もう一つの工夫として、reminder-lint という linter を使ってソースコード上にあるTODOコメントに期日を設けて、それを超過すると通知が飛ぶ仕組みを活用しています。複数事業部のコンテキストが混在する中でもタスクの抜け漏れがないように開発体制の品質を高める工夫を様々な角度から注力しています。

広がりつつあるフロントエンドエンジニアの役割
── これまで開発生産性の向上についてお聞きしましたが、最近注目されているAI活用についてはいかがでしょうか。
林:AI活用による生産性向上にも積極的に取り組んでいて、特にデータ取得の効率化に向けて様々な検証を進めています。例えば、Googleアナリティクスのデータ可視化や分析です。
これまではデータチームに依頼してレポート作成してもらっていましたが、スポット分析が必要な場合も、データチームに「こういうデータが欲しい」「何のために必要か」といった詳細を整理して依頼する必要がありました。
そのワークフローも現在では、Slackをインターフェースとして、自然言語でGoogleアナリティクスのデータを取得できるAIアプリケーションを開発して職種問わず組織全体に提供しています。
これにより、コミュニケーションパスが削減され、意思決定における開発全体の流れを加速できます。例えば、レポート作成コスト無しで、ビジネス職種の方が必要な時にSlackで質問してデータを取得できる点で、まさに生産性向上を実現する仕組みとして非常に価値があります。
── 生成AIがプロダクト開発に浸透した現在、FANBASEではどんなエンジニアが求められてきそうですか?
中川:職種や所属を横断して課題解決できる方ですね。AIを活用する時代とFANBASE事業部の少数精鋭という組織特性との相性が非常に良いと思います。FANBASE事業部で言えば、技術だけでなくアーティストとファンの関係性を深める仕組みづくりに興味を持ってもらえると嬉しいですね。技術においても、Webフロントエンドだけでなくクラウドなど他の領域にもチャレンジできる方は、影響力や事業を加速する力があるので、頼もしいと感じます。
新しい技術を恐れず、常に学び続ける姿勢があれば、アーティストとファンをつなぐ新しい体験を一緒に作り上げられると思います。
林:一つの技術にこだわらず柔軟に対応できるエンジニア、視野を広げてキャリアアップしていきたいという方と一緒に働きたいです。一緒にエンターテインメントの未来を作っていけたら嬉しいですね。

オフィシャルブログを見る
記事ランキング
-
1
8割以上が働きがいと成長機会を実感—人材の活躍を支える環境に迫る
8割以上が働きがいと成長機会を実感—人材の活躍を支える環境に迫る
8割以上が働きがいと成長機会を実感—人材の活躍を支える環境...
-
2
「Abema Towers(アベマタワーズ)」へのアクセス・入館方法
「Abema Towers(アベマタワーズ)」へのアクセス・入館方法
「Abema Towers(アベマタワーズ)」へのアクセス・...
-
3
ブロガーも読者もより快適に──「Ameba」のAI活用が創る新たな価値循環
ブロガーも読者もより快適に──「Ameba」のAI活用が創る新たな価値循環
ブロガーも読者もより快適に──「Ameba」のAI活用が創...
-
4
フロントエンド開発の領域拡大──「濃密に深いファンダム」を支える技術基盤と...
フロントエンド開発の領域拡大──「濃密に深いファンダム」を支える技術基盤とAI活用の実践
フロントエンド開発の領域拡大──「濃密に深いファンダム」を...
ブロガーも読者もより快適に──「Ameba」のAI活用が創る新たな価値循環

「もっと人員がいればサービスの向上につなげられるのに…」。そんな現場の課題感から始まったAmebaLIFE事業本部のAI活用。現場の創意工夫と専門知識の融合によって、オペレーション担当者がコンサルティング業務やプランニング業務へとキャリアチェンジを果たすなど、メンバーの成長機会を創出。「AIオペレーション室」(参照:「生成AIで競争力強化『AIオペレーション室』設立1年の取り組み」)との連携により、単なる業務効率化を超えた組織変革へと発展しました。本記事では、事業部が自らがAIツールを駆使し、ユーザー体験向上と社会課題解決を両立させた取り組みをお伝えします。