pbRun — Garminランニングデータ解析ツール

Web

概要

pbRunはGarminデバイスからの走行データを解析して、個々のランナー向けに性能評価とトレーニング洞察を提供するツールです。主な解析機能には、VDOT(走力指標)算出による目標ペース提案、心拍数のゾーン分布解析、過去のセッションからのペース傾向や強度分布の可視化が含まれます。フロントエンドはNext.js + TypeScriptで構築され、VercelへのデプロイバッジがREADMEに示されていることから、フルスタックだがフロント重視の設計を取っています。オンラインデモやドキュメントが用意され、個別データのインポート/可視化をすぐ試せる点が特徴です。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 16
  • フォーク数: 1
  • ウォッチャー数: 16
  • コミット数: 30
  • ファイル数: 14
  • メインの言語: TypeScript

主な特徴

  • Garminデータを基にしたVDOT(走力)解析と目標ペース算出
  • 心拍(HR)ゾーン別分布と強度分析によるトレーニング洞察
  • ペース傾向やセッションごとの比較を行う豊富な可視化
  • Next.js(appディレクトリ想定)+TypeScriptで構築、Vercelデプロイ対応

技術的なポイント

pbRunは「計測データの取り込み → 正規化・解析 → 可視化・提案」という典型的な解析パイプラインをフロントエンド主体で実装している点が注目されます。READMEからNext.js 16とTypeScriptが明示されており、最新のappディレクトリやサーバーコンポーネント/クライアントコンポーネントの併用が想定されます。解析面ではVDOT算出(一般的にはJack Danielsの式などを用いる)や心拍ゾーンの閾値判定、ラップ/区間ごとのペース平滑化、外れ値除去といった信号処理的前処理が必要です。これらはTypeScriptでドメインモデル(Activity, Lap, Sample等)として型定義することで解析ロジックの安全性と可読性を高められます。

可視化はランナーにとって重要なUX要素で、時系列チャート、分布ヒストグラム、地図上のルート表示(GPSトラック)などを組み合わせることが想定されます。実装面ではChart系ライブラリや地図ライブラリ(例:Chart.js / Recharts / ECharts、Leaflet / Mapbox等)を活用し、クライアントでのインタラクティブ描画を行いつつ、重い解析はサーバーサイド(API経由)で行ってレスポンスを高速化するアーキテクチャが適切です。

また、Garminデータの取り込み方法としては、ファイルアップロード(FIT/TCX/GPX)やGarmin Connect API経由のOAuth連携が考えられます。個人データを扱うため、プライバシー保護と認証・権限管理(セッション管理やトークンストア、Cookie/同意画面)の設計が必須です。パフォーマンス面では、解析結果をキャッシュして再計算を避ける、あるいは増分処理で最新データのみ更新する戦略が有効です。最後に、Vercelへのデプロイを前提としているため、環境変数管理やEdge/Serverless関数設計、ビルド最適化(バンドル分割・画像最適化)にも配慮されています。(約1,000字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • .npmrc: file
  • README.md: file
  • app: dir

上記の他、ドキュメント用のdocsディレクトリやpublic(静的アセット)、package.json / tsconfig.json / next.config.* といった設定ファイルが含まれる想定です。appディレクトリにはページやレイアウト、UIコンポーネント、APIエンドポイントが配置され、サーバーコンポーネントでデータフェッチや解析を行い、クライアントコンポーネントでチャート描画やインタラクションを担当する構成が自然です。解析ロジックは独立したユーティリティ群(解析関数、VDOT計算モジュール、心拍ゾーン計算)として整理され、TypeScriptの型定義によりデータ変換の正当性を担保します。

CI/CDはGitHub Actions等でLint/TypeCheck/Buildを回し、Vercel連携で自動デプロイを行うワークフローがREADMEのバッジから推測されます。ドキュメント(docs/README.md)はユーザー向けのクイックスタートやデータインポート手順、解析アルゴリズムの説明を含むことで、再現性と利用ハードル低減に寄与します。

まとめ

Garminデータを科学的に解析し、VDOTや心拍分布から実践的なトレーニング提案を出す実用的なNext.js製ツールです。(約50字)

リポジトリ情報:

READMEの抜粋:

🏃 Garmin Running Data Analytics

专业的跑步数据分析工具,助力跑者实现 PB

基于 Garmin 数据,通过专业的跑力(VDOT)分析、心率区间分布、配速趋势等多维度数据,为跑者提供科学的训练建议和数据洞察。

GitHub License Next.js Vercel

在线演示 · 快速开始 · 文档