🏄

Vibe-Codingでアプリを作ってみたけど、結局やめた話

に公開
2

昨今のVive-Codingを見て、サーファーとして、サーフィンのスコア予報アプリ作れたらなと思い、やってみましたが、結局やめた話です。


Vibe-Codingとは

AIに指示を出しながら、自分はほぼコードを書かずにアプリを作るスタイルのことです。
Claude Codeに「こういうものを作って」と言えば、ファイルを読み、コードを書き、エラーを直してくれる。自分はアーキテクチャと方向性だけ決めれば良いだけです。


なぜ作ろうと思ったか

BCM(Beach Community Media)という日本のサーフサイトがあります。各スポットの「今日のコンディション」をスコアで表示してくれる便利なサービスです。

ただ、今日のスコアしか表示しない

「今週末、どこに行けば良いか分かったら楽しいな。」

「これ、AIで学習させたら予測できるんじゃないか?」というのが出発点でした。


設計のキモ:6ヶ月待ち問題の解決

MLで予測しようとすると、まず「過去のスコアデータ」が必要です。BCMは今日のスコアしか出さないので、待てば待つほどデータが溜まりますが、6ヶ月〜1年は待つことになります。

解決策として思いついたのが:

  1. ERA5(ECMWF の無料気象データ)を使えば1940年から現在まで80年分の波浪データが取得できます。
  2. そのデータに「サーフスコア計算式」を適用してラベルを自動生成
  3. 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の中の方がこれで予報アプリ作ってくれたら、それも嬉しいなと思いつつ、

ただ、このコードに価値があるのかと自問すると、うーん、そんなない気はしています
が、どなたかの参考になれば・・

2

Discussion

ログインするとコメントできます
2