ソロ開発者として、86種目に対応するAI搭載のPWAフィットネストラッカーを作った

Dev.to / 2026/3/26

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • この記事は、ソロで開発したプログレッシブWebアプリ(PWA)型のフィットネストラッカー「BASE」を紹介している。BASEは、86種類の異なるスポーツの記録を1つのプラットフォームに統合し、種目ごとのスキーマに対応する。
  • 既存の対応がない種目については、BASEは「AI Form Builder」を使う。これは平文の説明から、数秒でカスタムの計測用フォームを生成する。
  • BASEの実装は、Vanilla JavaScript + Tailwind のPWAフロントエンド、バックエンドサービスにFirebase(Auth/Firestore/Cloud Functions)、ホスティングにNetlifyを使用している。また、Google Gemini APIが5つの異なるAI機能を駆動する。
  • 5つのAIシステムには、競技横断のレコメンドを行う「AI Coach」、周期化(periodized)された計画を生成する「Training Plan Generator」、ケガ予防の「Pre-Hab」、さらに「ZNS Readiness」と「AI Form Builder(カスタム入力ワークフロー用)」が含まれる。
  • 著者は重要な学びを強調している。PWAはアプリストアの摩擦なしで開発を加速できること、FirebaseはMVPに強いこと、AIはAPIコストを抑えるためにレート制限が必要なこと、そしてオフラインファーストの開発は難しいが、不安定なジムのWi‑Fiに対して価値があること。

8か月前、私はイライラしていました。私は筋力トレーニング、
ランニング、そしてBJJを行っています — そして、すべてを
記録するのに3つの別々のアプリが必要でした。ランニングは
Strava、ウエイトはStrong、そしてBJJはスプレッドシートです。
どれもお互いに連携せず、また、私の
トレーニング全体像を把握できるものはありませんでした。

そこでBASEを作りました。

BASEができること

BASEは、1つのアプリで86種類のスポーツを
記録するプログレッシブ・ウェブ・アプリ(PWA)です —
パワーリフティングからアーチェリー、スイミングまで。
「セット数とレップ数」といった汎用項目の代わりに、
それぞれのスポーツには独自の記録スキーマがあります。
アーチェリーは距離、矢、そして精度を記録します。
スイミングはラップ数、時間、ストローク種別、
ペースを記録します。

そして、あなたのスポーツが一覧にない場合は? AIフォームビルダー
を使えば、やりたいことを平文で説明でき、
その内容からカスタムの記録フォームが数秒で生成されます。

テックスタック

  • フロントエンド: Vanilla JavaScript + Tailwind CSS(PWA)
  • バックエンド: Firebase(Auth、Firestore、Cloud Functions)
  • AI: 5つのAIシステムのためのGoogle Gemini API
  • ホスティング: Netlify
  • 言語: 7(アラビア語を含み、完全なRTL対応)

Reactも、Next.jsも、フレームワークもありません。
オフラインで動作し、クラウドと同期し、
アプリストアなしでどんなデバイスにもインストールできる、
シングルページのアプリです。

5つのAIシステム

  1. AIコーチ — すべてのスポーツにまたがるあなたの
    完全なトレーニング履歴を分析し、パーソナライズされた提案を行います
  2. AIフォームビルダー — あなたのスポーツを説明すると、
    カスタムの記録フォームが即座に生成されます
  3. トレーニング計画ジェネレーター — 目標、週あたりの
    日数、期間を入力すると、AIが期間化したプランを作成します
  4. Pre-Hab — トレーニング負荷に基づいて、各セッションの前に
    ケガの予防に関する推奨を行います
  5. ZNSリードネス — 神経系の疲労を推定し、最大出力の
    準備ができているかを教えてくれます

1人で作って学んだこと

PWAは過小評価されています。 アプリストアの審査プロセスがなく、
30%の手数料もかからず、即時アップデートができ、あらゆるデバイスで動きます。
インストール体験はネイティブより少し劣りますが、
開発スピードは10倍速いです。

FirebaseはMVPに最適です。
認証、データベース、ホスティング、そしてクラウド関数が1つのエコシステムに揃っています。
無料プランは、重大なスケールに到達するまで
すべてをカバーします。

AI機能にはレート制限が必要です。 このことは
Gemini APIの請求額が急増したとき、痛い目を見て学びました。
無料ユーザーは1日に3回のAI呼び出し、
PROユーザーは無制限です。

オフライン・ファーストは想像より難しい。
サービスワーカーは強力ですが、デバッグがつらいです。
それでもやる価値はあります — ジムのWiFiは
とにかくひどいことで有名です。

数字(正直)

  • アクティブユーザー数100人未満(初期ベータ)
  • カスタムスキーマ付きの86種類のスポーツ
  • 7言語
  • 完全にオフラインでも動作
  • 無料で利用可能

今のところ、これがロケットのようだと言うつもりはありません。ですが
毎週、数字は少しずつ伸びていて、
マルチスポーツのアスリートからのフィードバックは
本当に素晴らしいです。

使ってみる

BASEは無料で、どのブラウザでも動きます:
base-app.tech

登録なしで試せます。正直なフィードバックが欲しいです —
特に、技術的な判断を容赦なく指摘できる
開発者の方からは。あなたなら何を別のようにしましたか?

私は1人の開発者として、BASEを公開しながら作っています。
PWAアーキテクチャ、Firebaseのセットアップ、
またはAI統合について質問があるなら、コメントで聞いてください —
すべてにお答えします。