- 「数値」を「言葉」に変える: GarminのCSVデータをアップするだけで、AIが練習の課題を具体的に言語化
- プロの習慣を自動化: 挫折しがちな「練習日誌」の作成をAIが代行し、カレンダーへ蓄積。
- 110km/週を支える効率化: 練習後の分析・記録などの時間を最小化し、回復と次への準備に充てる。
- 孤独なランナーの伴走者: 一人で走る市民ランナーに、データに基づいた「客観的な視点」を提供。
はじめに:1秒を削るために、1分を惜しむ
サブ3という目標に向け、週110kmを走る。このスケジュールをこなす中で、最も貴重なリソースは「時間」です。 練習を終え、Garminのデータを眺める。そこから課題を見つけ出し、日誌に書き留める……。この「振り返り」は強くなるために不可欠ですが、疲弊した身体には重い作業です。
「もっと手軽に、かつ自分にしかできない深い分析を自動化したい」
そんな切実な動機から、私はAIを活用したランニング解析アプリ**「Runcer(ランサー)」**の開発をスタートしました。


Runcerの使い方:3ステップで「練習」を「資産」に変える
アプリの使い方は、限界までシンプルに設計しています。練習後の疲れた状態でも、数クリックで完了します。
ランニングウォッチ(Garmin等)から書き出した練習結果のCSVファイルを、Runcerのダッシュボードにドラッグ&ドロップします。
アップロードと同時に、個人の**LTHR(乳酸性作業閾値心拍数)**に基づいた解析が走ります。
- ラップごとのペースと心拍ゾーンの相関をグラフ化。
- AIが練習の「質」を評価し、具体的なフィードバックを出力。 (現在は「鬼コーチモード」により、オーバーペースなどには厳しい指摘が飛びます)
解析結果は自動的にカレンダーへ保存されます。 同時に、AIが**「日誌用の文章」と「SNS(Xなど)投稿用の要約テキスト」**を自動生成。あとは内容を確認してコピーするだけで、記録と発信が完了します。
なぜ「既存アプリ」ではなく「自作」なのか?
実はこれまでも、GarminからCSVを出力してGeminiに読み込ませ、フィードバックをもらうという作業は手動で行っていました。しかし、毎日のこととなるとその数分の手間が積み重なり、練習の継続を阻むノイズになります。
「アプリ開発にかける時間は、未来の練習の質を買うための投資」
既存のツールでは届かない、自分だけの分析ロジックを実装できること。そして、その手間を限りなくゼロに近づけること。それが、私がコードを書く意義です。
Runcerの核心:LTHRに基づいた「科学的フィードバック」
Runcerが他のアプリと一線を画すのは、その分析の鋭さです。
- 179 bpm(LTHR)を基準としたゾーン設計 一般的な最大心拍数ではなく、私の最新データに基づいた**乳酸性作業閾値心拍数(LTHR)**を基準に、AIが強度を判定します。
- あなた自身のLTHRを設定することが可能になります
- Geminiとの対話から生まれたプロンプト 日々のチャットで磨き上げた「ランナーの感覚」を理解するプロンプトをそのままエンジンに搭載。単なる数値の羅列を、次に繋がる「言葉」へと変換します。
現在は開発者である私自身を追い込むため、あえて**「厳しめ」**の性格に設定しています。「最初だけVO2maxになってますよ」といったAIからの手厳しい指摘が、次の練習でのペース抑制を促す。まさにデジタルの「鬼コーチ」です。
AIが見抜いた「ランナーの悩み」
開発中に驚いた出来事があります。要件定義をAI(Cursor/Gemini)と進めていた際、AI側から**「SNSへの投稿文も自動生成しましょうか?」**という提案があったのです。
「人間は練習後のSNS投稿すら負担に感じている」とAIが認識している……。この提案には、思わず笑ってしまいました。実際に実装するかは検討中ですが、ランナーが何に疲れ、何を求めているのか。AIという伴走者と共に、痒い所に手が届く機能を形にしています。
結び:すべての「一人で戦うランナー」へ
私のように、社会人で、特定のチームに所属せず、一人で黙々と距離を踏んでいるランナーはたくさんいるはずです。
誰にも見られない練習だからこそ、質を落とさないための「鏡」が必要。 Runcerが完成したとき、それは単なる解析ツールではなく、1分1秒を削り出そうとするすべてのランナーの**「データという名の伴走者」**になると信じています。
現在、自分専用のプロトタイプから、皆さんに公開できる形を目指して開発を加速させています。 「走ること」と「創ること」。その両輪で、サブ3への道を切り拓いていきます。

コメント