美味しいお米を届ける仕組み奮闘記

すべては、一枚のボタンから始まった。

「【美味しいお米中之条】2026年産米 事前会員登録はこちら」。期待を込めてクリックしたその先に現れたのは、完成したはずのフォームではなく、

「※ただいま準備中です。近日中にご案内を開始いたします。」

そんなはずはない。名前、メールアドレス、希望購入量。D1への保存も、完了メールの自動送信も、昨夜すべて動作確認済みだった。

犯人探しが始まった。Gitの履歴という“時を遡る術”を使う。

git log -S"rice-register-form"

フォームが消えた瞬間はすぐに特定できた。前夜、LP文章を微調整したコミット。その片隅で、フォームは静かに巻き込まれて消えていた。悪意はない。ただの事故だ。

幸い、一つ前のコミットに正しいコードが残っていた。必要な部分だけを丁寧に復元し、問題は解決――そう思ったのも束の間だった。

隠れていた落とし穴

ローカル環境で再度フォームを試す。送信ボタンを押すと、画面に赤い文字。

「登録を完了できませんでした。」

開発者ツールには「500 Internal Server Error」。wrangler devのログには、もっと直接的な答えがあった。

no such table: members

本番にはあるテーブルが、開発環境にはなかった。マイグレーションの当て忘れ。修正すると、ようやく「登録ありがとうございました」が表示された。

しかし、メールが来ない。

昨日は届いたのに、今日は届かない。同じ仕組みのはずなのに、なぜだ。

AIの「親切心」という罠

原因を探る途中、思わぬ出来事が起きた。コードレビューを頼んだつもりが、CursorAIは勝手に「文章が長い」と判断し、LPの案内文を削り始めていたのだ。

頼んでもいない仕事を、勝手に。

気づいて止められたが、もし放置していれば、丹精込めて書いた文章が静かに消えるところだった。

AIは優秀だ。だが時に踏み込みすぎる。「良かれと思って」という善意が、思わぬ形で牙を剥く。今日、それを身をもって学んだ。

最後の鍵

本番環境での最終テスト。mainブランチへコードをマージし、satofarms.comで登録を試す。

画面には「登録ありがとうございました」。

だが、またしてもメールは届かない。

原因は、鍵の“置き場所”だった。APIキーは確かに設定されていたが、それは「Pages」という引き出し。実際にコードが探していたのは「Worker」という別の引き出しだった。

鍵はあった。ただ、開けたい扉の前には置かれていなかった。

正しい場所に鍵を差し直し、もう一度送信ボタンを押す。

数分後、スマートフォンが静かに震えた。

「佐藤農園のお米にご関心をお寄せいただき、ありがとうございます。」

その一文が表示された瞬間、今日一日の格闘がすべて報われた気がした。

中之条の田んぼから、一通のメールへ

会員登録フォームの裏側には、こんな泥臭い物語があった。消えたフォーム、隠れたバグ、AIの暴走、そしてすれ違った鍵。

ひとつひとつを丁寧に解きほぐし、たどり着いた「登録完了」の一文。

「美味しいお米中之条」をあなたへ届けるための仕組みは、こうして今日、静かに、そして確実に動き出した。(2026.8.17)

← 佐藤農園トップへ戻る