きっかけ
筋トレが趣味で、いろんなトレーニング記録アプリを試してきた。でも、どれも微妙にストレスが溜まる。
- 3ヶ月前の履歴を見ようとしたら課金画面が出てくる
- セット間の休憩中に全画面広告
- データをエクスポートしようとしたら有料プラン限定
- スロートレーニングのテンポを管理する機能がない
- 「腕立て伏せ」で一括り。ナロー、ワイド、ダイヤモンド...全部違うのに
自分のデータなのに、自由に使えない。
この不満が爆発して、「ないなら自分で作ろう」と思い立った。
作ったもの:SlowRep
スロートレーニングに特化したワークアウト記録アプリ。
こだわったポイントは3つ:
1. バリエーションとテンポを記録できる
既存アプリ:「腕立て伏せ 10回 × 3セット」
SlowRep:「腕立て伏せ ナロー / テンポ4-2-2 / 10回 × 3セット」
同じ腕立て伏せでも、ナローとワイドでは使う筋肉が違う。テンポ4-2-2(4秒で下ろして2秒止めて2秒で上げる)と2-1-2でも負荷が全く違う。
この差を記録できるアプリが、意外とない。
2. メトロノーム内蔵
スロートレーニングの肝は「テンポを一定に保つ」こと。頭の中で数えてると、疲れてくるとテンポが崩れる。
SlowRepにはメトロノームが内蔵されていて、BPMと拍子を設定すれば一定のリズムでトレーニングできる。インターバルタイマーからメトロノームへの自動連携機能もある。
3. 完全無料、広告なし、データはローカル
- 課金なし
- 広告なし
- アカウント登録なし
- データは全て端末内に保存
- JSONエクスポート無制限
自分のデータは自分のもの。当たり前のことだけど、既存アプリではなかなか実現されていなかった。
1週間で作れた理由
開発にはClaude Code(AIコーディングアシスタント)を使った。
「こういう画面が欲しい」と伝えるだけでUIが組み上がるし、「パフォーマンスを改善して」と言えばFlashList導入やコンポーネント分割まで自動でやってくれる。
型定義を最初にしっかり作ったのがポイントで、型があるとAIの出力精度がかなり上がる。
技術スタック:React Native (Expo) + TypeScript + Zustand
こんな人に使ってほしい
- スロートレーニングをしている人
- テンポやバリエーションまで記録したい人
- 広告や課金にうんざりしている人
- 自分のトレーニングデータをAIで分析したい人
- シンプルに筋トレを記録したいだけの人
実際にかかった期間
正直、大枠は1週間で作れた。Claude Codeを使えばUIもロジックも爆速で進む。「動くもの」を作るだけなら、本当にあっという間だった。
でも、本番はそこからだった。
毎日自分で使ってみると、「ここのボタン押しにくい」「メトロノームの音、半拍ズレてる」「テンプレートの編集が今日の記録に影響するのはダメだろ」「履歴のスクロールが下まで見えてない」みたいな細かい不満が、次から次へと湧いてくる。
ガワは簡単に作れる。でも、毎日触っても気にならないレベルまで磨き込むのは、ぜんぜん簡単じゃない。
結局、細かいアップデートを何十回も繰り返して、App Store公開まで約1ヶ月かかった。
そして公開すれば終わり、というわけでもなかった。リリース後にも、アイコンを「ネオンの力こぶ+メトロノーム」に作り直したり、スクリーンショットを日本語キャプション付きの新しい構成に差し替えたり、App Store Connect 上でちょっとしたトラブル対応をしたり。配信地域も日本・香港・韓国の3か国に絞ることにした。個人開発で全世界相手に法務・サポートを抱えるのは現実的じゃないので、身の丈に合った選択をした感じだ。
アプリ開発の8割は「最後の2割の磨き込み」に使われる、とよく言われる。やってみて、本当にそうだなと改めて実感した。Claude Codeはコードを書く時間は短くしてくれるけど、「何を直すべきか」は自分でアプリを触り続けないと見えてこない。ここは結局、人間の地道な仕事だった。
ダウンロード
App Storeで公開中です。
「ないなら作る」の精神で、満足いくものができました。
フィードバックお待ちしています!