Contents
まず結論
次に挑むのは、屋外を走るJRの路線です。でも今回、私が最初に作ったのはアプリではなく「観測所」でした。前作で痛い目に遭った反省から、「器を先に作らない」「作る理由が見えるまで作らない」という順番を、はっきり選びました。
そして観測網を張った翌日、偶然にも今年初の猛暑日が来て、いきなり最初の観察材料が転がり込んできました。
なぜ「アプリ」ではなく「観測所」から始めるのか
前作の浅草線アプリで、私は何度も「器を先に作って、その器に合わせて中身を歪める」失敗をしかけました。まだ何も分かっていないのに画面や構造を先に用意すると、あとで現実が見えてきたとき、その構造が邪魔になるのです。
今回はそれを避けました。JRは浅草線とは事情が違います。浅草線で通用した「待つべきか」の判断が、JRでそのまま通じる保証はどこにもありません。だから今やるべきは、アプリを作ることではなく、「その路線が普段どういう顔をしているか」をひたすら記録することだと決めました。
初学者向けに言うと、こういう順番です。
いきなり「予報アプリ」を作らない。
まず「毎日の天気をひたすら記録する観測所」を作る。
予報の作り方は、記録が溜まって”普段の顔”が見えてから決める。
だからリポジトリの名前も「アプリ」ではなく、期限つきの観測プロジェクトとして作りました。中身も、まだ動いている収集の仕組みと、日々の記録と、「なぜそうしたか」のメモだけ。画面を作るフォルダは、あえて空のままです。「動いているものだけをリポジトリに入れる」——これも前作で学んだ”真実は1箇所”の実践です。
前作の教訓を、「気合い」ではなく「仕組み」にした
今回いちばん成長したと感じたのは、ここです。前作で私は、数字が文脈から切り離されて独り歩きする怖さを何度も味わいました。「この○%って、どういう条件で測った数字だっけ?」が後から分からなくなるのです。
そこで今回は、それをルールとして固定しました。記録する数字には、必ず「札(ふだ)」をつける。いつの、どのデータを、どういう条件で測ったのか——それを数字とセットで必ず書き残す、という決まりです。
効果はすぐ出ました。作業を任せているAI(Claude Code)が、私が指示していないのに「前回『全日分』と書きましたが、正確には途中からの記録なので”部分的なデータ”でした」と自己申告してきたのです。札をつける習慣が、私の手を離れたところでも働き始めた瞬間でした。
もうひとつ制度化したのが、「前提は、こちらで思い出すのではなく、向こうに確認させる」という設計です。私が思い込みで誤った前提を指示してしまっても、AI側が実際のデータを見て「その前提、事実と違います」と差し戻せる仕組みにしておく。人間の記憶に頼る設計は、いつか必ず事故る。前作で学んだことを、今回は最初から仕組みに埋め込みました。
観測網を張った翌日、今年初の猛暑日が来た
そして面白いことが起きました。JRの観測を始めた翌日が、今年初の猛暑日——都心で35℃を超え、熱中症警戒アラートが今年最多の地域に出た、今年いちばん暑い日だったのです。
ここで、前作では気づけなかった「構造」が見えました。この猛暑日、私の浅草線アプリはずっと平常運転でした。なぜか。浅草線はほぼ全区間が地下だからです。暑さで電車が乱れる主な原因は、直射日光でレールが熱くなって歪むこと。日光の当たらない地下鉄には、そもそも起きにくい。
つまり「暑さの影響ゼロ」は、検知漏れではなく、地下鉄という構造の正しい反映でした。そして——暑さが出るとしたら、屋外を走るJRのほうだ、と。観測網を張った翌日に今年最強の暑さが来たことで、いきなり「平常の顔」と「高負荷の日の顔」を見比べる材料が、初週から手に入ったわけです。
「作る理由が観測されるまで、作らない」
ここでもう一つ、判断がありました。「暑さと遅れの関係を見たいなら、気温を自動で記録する仕組みを作れば?」と思いつきます。でも、今は作らないと決めました。
理由はシンプルで、まだJRで暑さによる乱れが一度も観測されていないからです。起きてもいない現象のための仕組みを先に作るのは、また「器を先に作る」失敗の繰り返しになります。台帳には「JRで天候による乱れが数件たまったら、気温ロガーの着手を検討」と1行だけ残しました。必要になった瞬間に足せるよう、メモだけ置いて、手は動かさない。
この「作る理由が観測されるまで作らない」という節度は、前作を通していちばん体に染みた考え方かもしれません。手を広げすぎて破綻しかけた、あの反省の直接の答えでもあります。
おわりに ── 型は、路線を乗り換えても持っていける
振り返ると、今回やったことは全部、前作で学んだ「型」の移植でした。器を先に作らない。数字には札をつける。前提はAIに確認させる。作る理由が観測されるまで作らない。新しい技術を覚えたのではなく、身についた型を、新しい路線に持ち込んだだけです。
前作の最後に「この型は電車アプリ専用ではない」と書きました。さっそくそれが、次のプロジェクトの初日から証明された形です。天気予報でいえば、今はまだ毎日の空を記録し始めたばかり。予報を出すのは、”普段の空”が見えてからです。
今週は雨の予報も出ています。屋外を走るJRにとって、雨は乱れの王道の原因。観測網の初陣は、案外すぐに来るかもしれません。網は張りました。あとは、待つだけです。
個人開発 / 観測フェーズ / 実測主義 / JR
このブログでは、ローカルLLM・Aider・個人開発の試行錯誤をそのまま記録しています。
