服掛けになった懸垂器をAIで救え!デバッグで筋肉がつく「自作アプリ」開発記
懸垂器にかけられた「絶望」という名の服
数年前に意気揚々と購入した懸垂器。それがいつの間にか、ただの「高機能なハンガーラック」に成り下がっていたのです。
「せっかくだし、懸垂でもするか……」
そう思い立ったものの、自分の性格はよく分かっています。
ただ闇雲にぶら下がるだけでは、成果が見えないうちに三日坊主で終わってしまう。
「トレーニングの成果を可視化したい。でも市販のアプリは入力が面倒だ。だったら、自分専用のツールをAIと一緒に作ってみよう」
そこで AI「Gemini」をパートナーに、僕のアプリ開発が始まりました。
Macの「黒い画面」を自分専用のジムに変える
プログラミングはほぼ未経験。まず取り組んだのはMacの環境設定です。
Geminiに教わりながら、以下のステップで進めました。
① Python環境の構築
まずはターミナルにPythonそのものを用意するところから。
Macには最初からPythonが入っていないケースもあるため、Homebrew 経由でインストールします。
# Homebrewのインストール(未導入の場合)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Pythonのインストール
brew install python
# バージョン確認
python3 --version
ターミナルに Python 3.x.x と表示されれば準備完了です。
② 仮想環境(venv)の構築
Macのシステムを汚さないよう、筋トレアプリ専用の「隔離された部屋(仮想環境)」を作ります。
# フォルダを作って移動
mkdir workout_app && cd workout_app
# 仮想環境を作成して起動
python3 -m venv venv
source venv/bin/activate
③ 必要なライブラリのインストール
ターミナル上にグラフを描画するための plotext というライブラリを導入しました。
pip install plotext
④ 設定ファイルとコードの作成
Mac標準のテキストエディタ nano を使い、Geminiが書いたコードを流し込みます。
nano routines.json # メニュー設定
nano workout.py # メインプログラム
最強のテスト手法は「実機(自分)の稼働」
今回の開発でいちばん面白かった、そして辛かったのがデバッグ作業です。
「1日の合計が正しく集計されるか?」「グラフは正しく描画されるか?」
確認するには、実際にデータを入力しなければなりません。
つまり——コードを修正するたびに、懸垂器にぶら下がる必要があるのです。
- 計算ロジックの確認のために 10回
- グラフのエラーを直して、確認のためにまた 5回
- 「累積がズレてる?」となれば、また 懸垂
デバッグを進めるほど腕がパンパンになっていく。
プログラムを修正するたびに、筋肉がつく。
まさに身体を張った開発体験でした。
04完成した「自分専用」システム
試行錯誤の末、ついに完成。コードの核心部分を紹介します。
▼ 設定ファイル(routines.json)
種目を増やしたい時は、このファイルを書き換えるだけでOKです。
{
"routines": ["懸垂", "レッグレイズ", "ディップス"]
}
▼ こだわり機能:柔軟な入力と累積表示
「10回を3セット」こなした時に 10*3 と打つだけで自動計算。
さらに「今日これまでの累計」をCSVから読み込んで即座に表示します。
# '10*3' のような入力を自動計算する工夫
if '*' in val_input:
p = val_input.split('*')
current_val = int(p[0]) * int(p
)
else:
current_val = int(val_input)
05眠っていた懸垂器が「最高の相棒」に
出来上がったのは、派手な画面のアプリではありません。
ターミナル(黒い画面)で動く、武骨なツールです。
でも、そこには欲しかったものがすべて詰まっています。
- 面倒な計算はAIにお任せ:入力のストレスがゼロ
- 数字が自信に変わる:人生で累計何回やったかが一目でわかる
- グラフというご褒美:ターミナルに刻まれるドットの軌跡が、継続の証
さらに「メニューを外部ファイルで管理」する仕組みにしたことで、
メニューを増やしてもこれ一本でこなせるようになりました。
AIは「魔法の杖」ではなく「最高の相棒」
プログラミングが未経験でも、AIに相談しながら進めれば、
自分の「欲しい」を形にできる——今回、それを実感しました。
かつて服を掛けていた懸垂器は、AIと僕で作ったシステムによって、
成長を刻む大切な相棒へと進化しました。
「何をやっても続かない」と思っていた過去の自分に、このグラフを見せてやりたい。
さあ、デバッグ(という名のトレーニング)の時間です。
今日も一回、ぶら下がってきます!
YoutubeでFoodVlogを始めました! よかったら見てやってください!
