Features
ワークアウト記録
重量・レップ数・RPE・セット種別を素早く記録。過去のデータから入力を自動補完。
Progressive Overload エンジン
RPE(主観的運動強度)に基づく自動負荷調整提案。トレーニング科学に基づくアルゴリズム。
入力の自動補完
過去のトレーニングデータから重量・レップ数・RPE を自動プリフィル。記録の手間を最小化。
アナリティクス
ボリューム推移チャート・コントリビューションカレンダー等でトレーニングの進捗を可視化。
Google Drive バックアップ
ユーザー自身の Google Drive にデータをバックアップ。LWW 方式の競合解決で安全に同期。
完全オフライン対応
PWA としてインストール可能。電波の悪いジムの地下でも問題なく使用可能。
Tech Stack
| Frontend | React 19 + TypeScript + Vite |
|---|---|
| Routing | TanStack Router |
| Styling | Tailwind CSS |
| State | Zustand + Dexie React Hooks |
| Local DB | Dexie.js (IndexedDB) |
| PWA | vite-plugin-pwa |
| Deploy | Cloudflare Pages |
Design Decisions
オフラインファースト設計
IndexedDB (Dexie.js) をプライマリストレージに採用。ジムの地下等の電波が悪い環境を想定し、ネットワーク接続に依存しないアーキテクチャを設計。すべての操作がローカルで完結する。
プライバシーファースト — サーバーレス
バックアップ先としてユーザー自身の Google Drive を採用。個人のトレーニングデータを第三者のサーバーに保存しない設計により、プライバシーを確保しつつバックエンドコストをゼロに。
RPE ベースの Progressive Overload エンジン
トレーニング科学に基づき、RPE(主観的運動強度)から次回のトレーニング負荷を自動計算。単純な重量増加ではなく、疲労度を考慮した適切な負荷提案を実現。