3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonista3と Cursorで作る筋トレ記録用キーボード

Posted at

はじめに

t-menu-manager-overview.gif

ダイエットのために 筋トレを習慣化 しようと考え,メモアプリ(Obsidian)で記録を取っていました.しかし,ジムでスマホを使って記録するのが不便 でした.

記録の課題

  • 📱 スマホのキーボードで数値を入力するのが面倒
  • 🤔 前回の重量や回数を思い出せない
    • 🏋️ 筋トレ初心者であるため,重量や回数を設定する際に前回の記録を基準にし,それを超えることを目標にしていた
  • 📝 メモアプリでフォーマットを統一しようとすると,その分手間が増える

解決策

この課題を解決するため,Pythonista3キーボード拡張機能 を使って カスタムキーボード を作りました!

作成したソースコードは GitHubで公開 しています.
▶️ GitHubリポジトリはこちら 🚀

なぜPythonista3 + カスタムキーボード? 🤔

  • Webアプリではダメなの? 🌐
    → 記録を Obsidian に直接保存したかったため,ジムでの入力に最適なキーボード拡張が適切 だと判断.
  • iOSアプリ(Swift)で作らないの? 📱
    → Swiftでアプリを作るのも手でしたが,手軽に実装できることを優先
    過去にPythonista3での開発経験があった ため,こちらを選択しました.

開発環境 🛠️

  • 📱 iPhone 15 Plus:Pythonista3でキーボード拡張機能を実装
  • 💻 MacBook Air M3:Cursorで iCloudで同期 したコードを編集

🔄 開発フロー

  1. Cursorでコードを編集 ✍️
  2. iCloudで自動的にiPhoneに同期 🔄
  3. Pythonista3で動作確認 🛠️
  4. 実際に使用しながら改善 🏋️‍♂️

今回,コードエディタとして Cursor を初めて使いましたが,その便利さに感動しました...!
特にボタンの配置など UIの調整は難しかったですが,実際のiPhoneのスクショを見せながらできるのが助かりました.
iCloudとの連携は多少ラグはありますが,Macで編集 → iPhoneでテスト の流れはスムーズに行えました.
反省があるとすれば,Macの iPhoneミラーリング機能を利用しなかったことです,もし利用していれば,さらに開発しやすくなったと感じています.

機能紹介 🚀

keyboard_input.png

1. メニュー選択機能 🏋️‍♂️

  • 部位タグ付きで種目を表示(例:スクワット → [脚])
  • ワンタップで選択
  • テキストファイルでメニューを管理(カスタマイズ可能)
    • 設定項目:メニュー名 / ターゲット部位 / パラメータ(単位,ステップ,最大値)

2. パラメータ入力機能 🎛️

  • 直感的な操作で素早く入力
    • スライダーで数値を調整
    • プラス/マイナスボタンで微調整
    • パラメータの単位はメニューごとに設定

🏆 記録の可視化

  • 前回の記録を参考に調整
  • 最高記録を超えると文字が赤く変化 🔴
  • パラメータが 0 の場合は記録ボタンを無効化

3. 記録機能 📝

  • 記録フォーマットを2種類用意
    1. 種目名のみ
      - レッグプレス
    2. 重量・回数付き
      - 80kg, 10回
  • JSONファイルで記録を管理
    • 前回記録と最高記録を保存(履歴を活用)

まとめ

Pythonista3のキーボード拡張機能を活用し,トレーニング記録用のカスタムキーボードを作成しました.開発には iCloudと Cursorを組み合わせ, iPhoneと Macの両方で効率的に作業ができるようにしました.実際に使ってみると,トレーニング中の記録がスムーズになり,前回の記録を意識しながらトレーニングできるようになりました.
ソースコードは GitHubで公開しているので,ぜひカスタマイズして活用してみてください!

質問やフィードバックがあればコメントでお願いします!🙌
「いいね」していただけると励みになります!

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?