Vibe-Codingでアプリを作ってみたけど、結局やめた話
昨今のVive-Codingを見て、サーファーとして、サーフィンのスコア予報アプリ作れたらなと思い、やってみましたが、結局やめた話です。
Vibe-Codingとは
AIに指示を出しながら、自分はほぼコードを書かずにアプリを作るスタイルのことです。
Claude Codeに「こういうものを作って」と言えば、ファイルを読み、コードを書き、エラーを直してくれる。自分はアーキテクチャと方向性だけ決めれば良いだけです。
なぜ作ろうと思ったか
BCM(Beach Community Media)という日本のサーフサイトがあります。各スポットの「今日のコンディション」をスコアで表示してくれる便利なサービスです。
ただ、今日のスコアしか表示しない。
「今週末、どこに行けば良いか分かったら楽しいな。」
「これ、AIで学習させたら予測できるんじゃないか?」というのが出発点でした。
設計のキモ:6ヶ月待ち問題の解決
MLで予測しようとすると、まず「過去のスコアデータ」が必要です。BCMは今日のスコアしか出さないので、待てば待つほどデータが溜まりますが、6ヶ月〜1年は待つことになります。
解決策として思いついたのが:
- ERA5(ECMWF の無料気象データ)を使えば1940年から現在まで80年分の波浪データが取得できます。
- そのデータに「サーフスコア計算式」を適用してラベルを自動生成
- Day 1からモデルを学習できます。
計算式のイメージは「波高・周期・うねり方向・風・潮位」を組み合わせてスコアを出すもので、BCMや波乗り道場の採点ロジックを参考に設計しました。
実際に作ったもの
Claude Codeとの会話を重ねながら、以下を実装しました:
- ERA5 + Open-Meteo で波浪データを取得するパイプライン
- LightGBM + Optuna でモデル学習
- 全国29スポットの定義(北海道〜沖縄)
- MapLibre + Next.js で全国マップUI
- Windyライクな時間別アニメーション(1時間単位、7日先)
- GitHub Actions で毎日自動更新
詰まったこと
Surflineが403を返す:実際のサーフスコアを取得しようとしたら、GitHub ActionsのIPからはブロックされていた。
BCMスクレイパーが動かない:ローカル環境でもネット接続の問題で動かなかった。仮に動いても、BCMは毎朝人間が採点するので1日1件しか溜まらない。
根本的な問題
作ってる途中で、自分に問いかけました。
「このアプリ、自分で使う?」
答えはNOでした。
サーファーではあるけれど、結局BCMとWindy見るだろうなと。
「面白そうだから作った」けど、「これがないと困る」ではなかった。
対比:ダイビング視界予報は続いている
一方、同じアーキテクチャで作ったダイビング透明度予報アプリは一応、デプロイまでは持っていきました。
違いは単純で、まだ世の中にないなと思っていたアプリだからです。
無料サーバーのリソースすら無駄にしたくない・・
例えばVercel使えば今回作ったアプリは、ダイビング透明度予報アプリ同様に無料で公開できますが、Vercelの電力やリソースを少しでも使うわけで、自分の気持ちに反するなと思い、今すぐにでもアプリとして公開は可能ですが、違うな・と思いやめました。
Vibe-Codingで気づいたこと
Claude Codeは優秀です。指示した通りのものを作ってくれる。
ただ、「何を作るか」は自分で決めないといけない。
Vibe-Codingは「作る速度」を劇的に上げてくれます。それは同時に「間違った方向に速く進む」リスクも上げます。
もうひとつ正直に言うと、全部Claude Codeが書いたので技術的な定着は何もないという感覚もあります。これはVibe-Codingの本質的なトレードオフで、「速いプロトタイプ」と「自分の成長」は別の話です。
Vibe-Codingは強力なツールですが、「自分が本当に欲しいもの」に使わないと、速く迷子になるだけです。
コードはGitHubに残してあります。同じアーキテクチャで何か作るときのテンプレートとして。
BCMの中の方がこれで予報アプリ作ってくれたら、それも嬉しいなと思いつつ、
ただ、このコードに価値があるのかと自問すると、うーん、そんなない気はしています
が、どなたかの参考になれば・・
Discussion