イスタンブールから米国 App Store 首位へ:FERASET が AI アプリスタジオを Expo に賭けた理由

FERASET は 4 週間で最初の AI アプリを 2 つのアプリストアに投入し、世界首位を獲得、Spotify を追い抜いた。このイスタンブールのスタジオがなぜすべてを Expo に賭けたのか。

日本語
コピー
From Istanbul to #1 in the US App Store: why FERASET bet its entire studio on Expo

本記事は Said Kaban によるゲスト投稿です。同氏は FERASET の CTO 兼共同創業者です。

2022年末当時、私の知るモバイルエンジニアのほとんどは、Expo をプロトタイピング用のツールとしか見ていなかった。デモやハッカソンには使うが、本気でプロダクトを作る段階になったら React Native CLI に戻る、という感覚だ。私たちのいるトルコでは、それがほぼ既定の見解だった。

私たちの判断は違った。Expo の進む方向を見て、これは React エコシステムにおける Next.js と同じ軌跡をたどると考えた。意見を持ったフレームワークとホスティング層の組み合わせで、あなたを縛ることはないのに、はるかに速くしてくれる。そこで私たちは全力で賭けた。

現在、FERASET はイスタンブールを拠点とする AI コンシューマーアプリのスタジオで、約40人。アメリカをはじめ複数の国で App Store の世界1位を獲得したこともある。モバイルの技術スタックはすべて Expo で動いており、初日からそうだ。

ここからは、そこに至るまでの道のりを書く。

正しいタイミングで、正しい賭けをした

FERASET が動き出したのは AI ブームの真っただ中だった。ChatGPT が出たばかりで、DALL-E が繰り返し話題になり、Midjourney はどこにでもあった。だが、そのすべてがウェブプロダクトだった。AI で何かを作ろうと思えば、パソコンの前に座るか、スマホのブラウザを開く必要があった。AI のために優れたネイティブのモバイル体験を作った者はまだいなかったし、ユーザーはそこにいるはずだと私たちは確信していた。

つまり、速さだけが問題だった。磨き上げた AI アプリを誰よりも早くストアに届けた者が勝つ。1週間遅れるごとに、勝つ見込みが細っていく。

必要だったのは、小さなチームが両プラットフォームへ素早く同時リリースでき、ネイティブツールチェーンの問題に時間を食われないフレームワークだ。Expo はまさにそれを与えてくれた。Music AI は私たちの最初のアプリで、最初のコードを書いてから App Store に並ぶまで4週間しかかかっていない。完全な MVP を、両プラットフォーム向けに、審査も通して。これが Expo がもたらしたスピードであり、市場が混み合う前に一歩先んじられた理由でもある。

最初のアプリが世界1位を取った

最初のアプリは Music AI で、AI カバーソング生成アプリだ。さまざまな声で楽曲の AI カバーを作れるし、自分自身や身近な人の声を学習させて歌わせることもできる。あっという間に広がった。

Feraset アプリ

Music AI は世界最高の AI カバーアプリになった。App Store のランキングで Spotify を抜き、アメリカやヨーロッパの主要市場を含む複数の国で世界1位を獲得した。

アプリストアの首位に立つ

これで2つのことが裏付けられた。モバイル AI 市場は実在し、しかも巨大だ。そして Expo は本番規模にまったく耐える。プロトタイピングの道具ではなく、会社ひとつを支えるために私たちが使っているフレームワークだ。

そこから先の方向は明らかだった。AI コンシューマー市場はアプリ1本で取り切れるものではない。画像生成を求める人もいれば、動画を求める人もいて、特定の創作ツールを求める人もいる。1つのアプリですべてのユーザーに応えることはできない。だから私たちは何もかも Music AI に詰め込むのではなく、FERASET をスタジオとして運営することにした。複数のアプリを、それぞれ1つの具体的な用途に絞り、すべて同じコアチームが Expo で作る。

私たちが Expo で作っているもの、実例

私たちのところで Expo 開発が実際どんなものかを説明する一番いい方法は、具体的な例を見せることだ。expo-ai-kit

expo-ai-kit:Expo アプリにオンデバイス AI を

私たちのアプリはすべて、プロンプトの整形、コンテンツのポリシーチェック、テキスト生成に言語モデルを使っている。こうしたタスクには LLM が要るが、最先端のモデルまでは要らない。長い間、それはリクエストごとにクラウド API を呼ぶことを意味していた。動きはするが、オンデバイスの小さなモデルで楽に片付く推論に金を払っていたし、ユーザーのプロンプトは必要もないのにデバイスの外に出ていた。

iOS の Apple Foundation Models と Android の Google ML Kit の Prompt API がこれを変えた。私たちが必要とする種類のタスクなら、オンデバイスモデルで十分すぎるし、しかも無料だ。API キーは不要、トークン課金もなし、ネットワークにも依存しない。問題は、Expo でこれらをきれいに使う方法がなかったことだ。そこで作ったのが expo-ai-kit である。

両プラットフォームのオンデバイス言語モデルに、シンプルな JavaScript API を提供するオープンソースの Expo モジュールだ。使い方はこう:

import { isAvailable, sendMessage } from 'expo-ai-kit';

const available = await isAvailable();

if (available) {
  const response = await sendMessage(
    [{ role: 'user', content: 'Refine this prompt for image generation: a cat sitting' }],
    { systemPrompt: 'You are a prompt engineering assistant.' }
  );
  console.log(response.text);
}

テキストを逐次表示するためのストリーミングにも対応している:

import { streamMessage } from 'expo-ai-kit';

const { promise, stop } = streamMessage(
  [{ role: 'user', content: 'Check this text against content guidelines...' }],
  (event) => {
    setResponseText(event.accumulatedText);
  },
  { systemPrompt: 'You are a content moderation assistant.' }
);

npm install expo-ai-kit と設定プラグインだけで、オンデバイス推論が動く。このライブラリは現在、npm で毎週数万回ダウンロードされている。

expo ai SDK

私たちにとって、以前はリクエストごとにお金がかかっていたタスクが、いまはデバイス上で無料で動く。ネットワークの往復がなくなるので、単純なタスクの応答時間も縮んだ。そして新しいチップの世代ごとにオンデバイスモデルが強くなるにつれ、クラウドから降ろせるタスクは増える一方だ。

オープンソースにしたのは、他の開発者も同じ問題にぶつかるだろうと思ったからだ。このライブラリを作る過程は、私たちがずっと感じてきたことを裏付けた。expo-ai-kit は本物の Swift と Kotlin のコードで、プラットフォームの AI フレームワークを直接呼び、Expo のモジュールシステム を通じて統合し、設定プラグインとして配布される。eject も bare workflow も不要。必要なときはネイティブ層まで潜れるし、そのまま managed のエコシステムにとどまっていられる。

難しいのは技術の話ではない

私たちがぶつかった最大の壁は、トルコの開発者エコシステムだった。

立ち上げ当初、このあたりのモバイルエンジニアの多くは他のフレームワークに慣れていた。Expo は本番アプリを作る選択肢としてほぼ眼中になく——当時のエコシステムの若さを考えれば、無理もない見方ではあった。経験のあるエンジニアに本気で検討してもらうには、かなりの説得が必要だった。

初期の採用は難しかった。「Expo エンジニア募集」と求人を出せば合格者からの応募が山ほど来る、なんてことはない。試してみようという気のある人を探し、なぜ Expo が正しい選択なのかを伝え、実際の結果で示すしかなかった。

私たちはトルコで React Native と Expo のコミュニティを育てることに時間を使った。自分たちが学んだことを共有し、React エコシステムがかつて Web を取ったようにモバイルも取るはずだと論じた。市場が勝手に追いつくのを待つのではなく、自分たちからトルコで動かそうと思った。

結果としてそれは実を結んだ。ただ、その苦労はコードを書くこととは何の関係もなかった。

Expo が予想を裏切ったところ

一番意外だったのは、Expo の managed workflow を大規模に使ったときの安定性だ。私たちは CNG を使っていて、これが非常に助かっている。リリースのペースが速く、ビルドの種類も多いからだ。dev、preview、prod を常にビルドしている。これらのビルドを作り、プロダクトチームに配ってテストしてもらい、審査に出すまでの流れが、拍子抜けするほどスムーズだった。

小さなチームが managed workflow を使うと、補助輪付きの自転車に乗っているような気分になり、いずれ外すものだと思いがちだ。私たちは外さなかった。チームは大きくなり、アプリは複雑になり、ユーザーは数百万に達したが、今も完全に managed のままだ。このモデルがもたらす利点は、アプリとチームと一緒に成長していく。

SDK バージョン間のアップグレードパスも、思っていたよりずっと楽だった。アプリを1つアップグレードするのと、コードを共有する複数のアプリをアップグレードするのとでは話が違う。後者は調整の問題になる。Expo のアップグレードツールと移行ガイドのおかげで、これは本来あり得た姿よりはるかに楽になっている。

正直に言って、Expo チームのイノベーションのテンポにはいつも驚かされる。彼らは常に一歩先を行っている。ファイルベースのルーティングはいい例だ。開発者体験が向かう先を見極め、早い段階でそこに到達した。

これからどうするのか

agentic coding の時代が正式に到来し、Expo もその方向へ進んでいる。Expo Agent の正式リリースが楽しみだし、これが私たちのクライアント開発の流れをさらに推し進め、加速させてくれると信じている。AI 支援開発を、すでに使っているフレームワークに直接組み込む——まさにこれこそ、私たちが Expo に賭けた理由と同じ先見性のある動きだ。

私たち自身は、プロダクト群を広げ続けている。AI のコンシューマー市場は今も急速に伸びており、動画生成とモバイルでのリアルタイム AI 体験に大きなチャンスがあると見ている。どちらも Expo の上に構築する。

小さなチームでコンシューマー向けアプリを作ろうと考えているなら、アドバイスは一つ。技術スタックで悩みすぎるな。Expo を選び、リリースを始め、プロダクトに集中することだ。フレームワークは一緒に成長してくれる。私たちがそうだった。イスタンブールの小さなチームから、世界のランキングを制するアプリまで来た。まだ始まったばかりだけど。

FERASET はイスタンブールを拠点とする AI コンシューマーアプリのスタジオです。私たちのアプリは App Store と Google Play で見つけられます。AI アプリスタジオやモバイルゲームスタジオでは慣例として、運用上のさまざまな目的で異なる開発者アカウントからアプリを公開しているため、FERASET という名前ですべてのアプリが見つかるわけではありません。

出典: Expo Blog← ホームへ戻る