4 ポイント 投稿者 zxavi 2025-04-10 | 4件のコメント | WhatsAppで共有

こんにちは、個人開発をしています。

最近はランニングが趣味なのですが、既存の有名アプリには自分が必要としている機能がなかったため、自分で作ってみました。

Flutterで開発しており、初期のコンセプト検証版は約2週間で完成しましたが、これを磨き上げてリリースできる水準まで引き上げるには3〜4か月ほどかかりました。

現在はAppleとGoogleのストアで公開しており、ダウンロード可能です。Webサイトにアクセスして各ストアのリンクを押すと、手軽に入手できます。

サービス紹介

Pace Teller(ペーステラー)は、走っている最中にリアルタイムで10km、ハーフ、フルマラソンの予想記録を知らせてくれるアプリです。

なぜ作ったのか

  • 「毎日5〜6kmランニングチャレンジ」をしている最中、最後のペースのまま走り続けた場合、10kmの予想記録がどれくらいになるのかふと気になりました。
  • ランニングアプリには平均ペースを確認できる機能はありますが、その時点のコンディションを踏まえた実際の記録を頭の中で予想するのは簡単ではありませんでした。
  • 走り慣れている人なら大まかな予測はできるかもしれませんが、おおよその予想記録を計算するのが難しい人のためにこのアプリを開発しました。
  • 実際に走りながら予想記録を聞いていると、目標へのモチベーション維持や、ペースダウンなどのコンディション調整にとても役立っています。
  • 自分一人で使うために作ったのですが、使ってみるととても良かったので、思い切ってShow GNに投稿します。

予想記録の計算方法

  • これまでに走った距離は平均ペースで計算し、残りの距離は直近20%区間のペースを基準に計算して、リアルタイムの予想記録を提供します。
  • また、音声(TTS)案内で記録を聞けるようにしました。
  • ただし、この計算方法の限界として、最後のペースが良いと予想記録が過度によくなってしまう点があります。
  • 現時点ではコンディションが良くなるペースや悪くなるペースは考慮していませんが、今後は運動終了後にユーザーへコンディション状態を尋ねる質問を通じて補正する予定です。

サービスの特徴

  • 基本的なランニングアプリで提供されるほとんどの指標を記録できます。
  • 運動ごとのフィルター、カレンダー表示、統計表示機能を提供します。
  • GPXファイルのインポート/エクスポート機能に対応しています。 (このアプリの記録を他のサービスへ持っていきやすくしてあります)
  • Stravaのデータを取り込んだり、Stravaへ(自動)送信する機能があります。
  • RunKeeperのようにGPXをすべてexportしてくれるサービスは、ファイルを受け取って圧縮したまま取り込めば、一度にデータが入力されます。
  • Galaxy端末の利用者はヘルスデータを取り込み、心拍数を運動データにマッピングできます。
  • アプリ内のSQLite DBを活用しており、外部サーバーにデータを保存しないため高速に動作します。
  • Open Weather Map APIキーを個人で入力すると、天気情報も自動で記録されます(ただし精度はやや落ちる場合があります)。
  • 英語/日本語をサポートしています。

今後予定している機能

  • ウォッチで動作するアプリを作ってみたいです。
  • 特にフルマラソンの予想記録はGarminを使っている方が気にされることが多いそうなので、やるならGarminアプリを作る必要がありそうです。
  • 今はウォッチアプリも起動し、このアプリも起動して、2つを同時に押して走っています。
  • ケイデンスやペースチャート関連の不足している点を改善する予定です。
  • データをサーバーに保存する機能はまだ検討中ですが、開発する可能性は高いです。現在はGPXファイルにエクスポートしないと、アプリ削除時にデータがすべて消える可能性があるためです。ただし、Stravaへの自動送信設定をしておけば、Stravaにデータが保存されるので安心できます。
  • コミュニティや自慢機能のようなソーシャル機能の追加も検討中です。ただ、すでにStravaが充実しているので、あえて追加すべきか悩んでいます。
  • ランニングコースを「Route」化して、「この地域ではどのコースが良いか」といったサービスもすでに他のアプリで提供されているので、これも検討中です。

開発後記

  • 開発しながら感じたのは、、、 「こんなアプリが個人開発で、こんなに早くできるの??」と思うほどで、多くの人が体験されたであろう「AI活用開発」の驚きを自分も感じたサービスでした。
  • iOS、Androidアプリをどちらもネイティブで作っていると、1つ完成したあとにもう1つを作る時、よく気が滅入りました。
  • そこでFlutterで始めてみたのですが、少なくともこうした「精神的ストレス」の面では大満足です。
  • ただし、パッケージやライブラリは頻繁にアップグレードされ、依存関係の問題も発生して苦労が多く、今後も心配です。
  • GPSが吐き出す速度のようなデータは完璧ではないため、さまざまな方法で計算式の精度を高めていくうちに、完成度を上げるのにかなり時間がかかりました。
  • もちろんAIの助けをたくさん借りたので、堂々巡りになることも多かったですが、それでも使わずにはいられませんでした。
  • いつも両ストアに定期課金を組み込む作業は大変です。

4件のコメント

 
kipsong133 2025-04-10

依存関係の問題やそのあたりは、実際ネイティブでやっても同じように心配にはなりますね..(笑)

もしよければ、どのパッケージなのか共有していただけますか?

 
zxavi 2025-04-10

はい、そうですね^^ どのパッケージのことをおっしゃっていますか? どのパッケージで依存関係の問題が起きたのか、ということでしょうか? あまりにも頻繁だったことと、私自身 Flutter への理解が浅い状態で遭遇した問題でもあったので、正直あまりよく覚えていません^^

 
seonymoon 2025-04-10

Strava、まもなく韓国でのサービスを終了します..!

 
zxavi 2025-04-10

はい、すでにストアからは削除されています。ですが、サービスが利用できないわけではありません。既存ユーザーは利用可能で、Webからも利用できます。