AIでのアプリ開発、試行錯誤の記録

はじめに
月1でお題に沿って開発するコミュニティでの開発記録です。
今回はいろいろ試行錯誤しているので、備忘録として残したいと思います。
すでに何日かやっているのでまとめて書きます。
お題
「振り返り・記録」or「季節の変化」

要件定義〜設計
[Day1] 9/10(水) : 2h
なんとなくのアプリ案はあったが、ChatGPT(GPT-5)と壁打ちして明確になる。
(プライベートな内容が入っているためURLの共有はなし。今後は共有したい)
[Day2] 9/11(木) : 2h
前回、要件定義書作成はClaudeCodeにやってもらった。
その時参考にしたのが以下の記事。とてもおもしろかった。
今回は違うやり方でやってみたかった。
Kiroは8月下旬にWaitListに登録した後、まだ返事がない。
(後で知ったけど、結構時間かかるみたい…。もっと早くやっておけばよかった)
ChatGPT(GPT-5)に昨日の壁打ちを要件定義書のマークダウンにしてもらった後、Claude(Sonnet4)に質問してもらってブラッシュアップしてもらった。
ChatGPTやGeminiはよく使うけど、Claudeはほぼ初めて。
先日勉強会でClaudeが使われていたので使ってみた。
ChatGPT→Claudeの合わせ技はどうなの?ってGeminiに聞いてみたら
「GPT-5の**「発散的思考(壁打ち)」と、Claude Sonnet 4の「収束的思考(質問によるブラッシュアップ)」**という、それぞれの強みを活かした理想的な組み合わせです。」
とのこと。
その後もClaudeに設計書を作成してもらったが、ソースで具体的に書かれてしまって、うーん。。
「ClaudeCodeに実装してもらう最低限の設計書」って指示がよくなかったのかも。

設計書レビュー
大事なので独立して。
私は今までAIでの開発を3回しているのだが
- 1回目:初めてのAI駆動開発。自分でガチガチ設計して、あまりうまくいかず…?
- 2回目:前回の反省でClaudeCodeに設計を任せる。DBなしなので細かくレビューしなくても特に問題なし。
- 3回目:今回はDBありだが、前回のノリでテーブル定義をきちんと確認していなかった。失敗!
上記の反省から今回はしっかり設計書レビューを行った。
[Day3] 9/12(金) : 2h
特にDB設計書を重点的に確認した。以下を確認して修正してもらった。
- 項目は足りているか?
- 物理名と桁数を追加
- 命名の確認
- 登録者、登録日時、更新者、更新日時を追加
- コード値が望ましい項目
それ以外はレビューを通したのだが、CLAUDE.mdを生成してもらって気づいた。
一言も要件に出してないのに、AIでのレコメンド機能が「関西弁で」出力されるようになっていた。
深夜はさすがに節穴だな。。
ちなみに、CLAUDE.mdはいつも「/init 日本語で」って出力してもらった後、そのままなのだが、どれくらいの頻度で更新するのがよいのだろうか。

擬似アジャイル開発をやってみたい
先日職務経歴書の棚卸しをして、「アジャイル開発をやりたい」が一番の希望だとわかった。
(前回の転職活動もそれは軸3つの中にあったのだが。。)
本読んだり、個人開発でもいいからやってみようと思いながらズルズル。。
今回も時間的に厳しいかもと思いながら、自然と調べていた。
[Day4] 9/13(土) : 1h半
ちょっと前からChatGPTに、ClaudeCodeを使ってアジャイル開発をする方法を聞いていた。
GitHub issueにバックログを作成することにする。
ChatGPT曰く、ユーザーストーリー単位で作成するらしい。受け入れ基準とか、そういうのがいるんだと。
過去に何冊か本は読んでいるがあまり覚えておらず。。
ネットでもGitHub issueで作成している記事をいくつか見てみたけど、思ったより記事はなかったのでやり方が違うのか、検索ワードがいけてないのか。
→2016年と古い
issueのテンプレートと実際のバックログはClaudeCodeに作成してもらった。
GitHub Projectsも初めて作成してみる。
「カンバン」で。
個人開発で、ClaudeCodeも並行ではなく単一で使用するから、あまり意味のあるものではないけれど。

ゲストログイン機能実装
気軽に触ってもらうアプリとするためゲストログイン機能を実装する。
[Day5] 9/14(日) : 2h
Supabeseのセットアップ。
数回ほど使ったことあるが、毎回ClaudeCodeに聞いてしまうので、これも別できちんとまとめたい。
今回が初めてきちんとSupabeseを使用するアプリなので、【Supabese習熟】を一番の目的としている。
(結果いろいろ手を出していて霞んでいるが。。)
Supabeseを触ってみた印象だが、メールアドレス認証以外はめんどくさい。
だから、3回目の開発でログイン機能を入れた時はとりあえずメールアドレス認証のみにした。
ゲストログイン機能を実現するにはSupabaseの「匿名ログイン」らしい。
captchaを導入してくださいみたいなメッセージが出て、前回はそれを入れようとして戸惑った。
開発中は別にいいと思うが。
「Supabase ゲストログイン」で検索してみても「匿名認証」についていくつか記事が出るのでまたゆっくり読んでみたい。
ゲストログインは実装できた。
ログアウト後、同じアカウントでログインできるかも確認したくて、ログアウトを実装してもらった。
9/15(月)はスクラップを書いてたら時間がなくなってしまったので、また明日動作確認する。