1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

普段はHR・人事領域働いている、いわゆる非エンジニアです。コードはほとんど書けません。

そんな自分が、最近話題のAIコーディングツールが気になって、Claude Codeを使って介護記録を音声から自動生成するWebアプリを作ってみました。

動機はシンプルで、AIと一緒に開発するというのがどんな体験なのか、自分の手で試してみたかったからです。ついでに、開発職へのキャリアチェンジも考えているので、ポートフォリオになれば嬉しい、くらいの気持ちで始めました。

この記事では、うまくいったこともいかなかったことも、そのまま書いていきます。


作ったもの

サービス名は「介護DXアシスト」。本番URLはこちらです。

https://kaigo-dx.vercel.app

機能はシンプルで、音声を録音してアップロードすると文字起こしされ、それをAIが介護記録の形式に整えて保存してくれる、というものです。

技術スタックはこんな感じになりました。

レイヤー 技術
フロントエンド Next.js 14(App Router)
言語 TypeScript
認証・DB Supabase
音声→テキスト OpenAI Whisper
AI記録生成 Claude API
決済 Stripe
ホスティング Vercel
E2Eテスト Playwright

選定の細かい理由はあまりなくて、Claude Codeに「初心者でも扱いやすい構成で」と相談しながら決めていきました。


Claude Codeを使ってみた感想

Claude Codeはターミナル上で動くAIエージェントです。チャット欄にコードを書いてもらうのではなく、ターミナルでファイルを読み書きしながら一緒に作業を進めてくれる、という感じでした。

自分の役割は、コードを書くというより「指示を出す」のほうに近かったです。「ログイン画面を作ってほしい」「このエラーが出てる」と話しかけると、必要なファイルを読んで、書き換えて、テストを走らせて、自分で直そうとしてくれます。

良かったのは、とにかく実装が速いこと。詰まっても自力でリトライしてくれるので、自分はその間にコーヒーを淹れていることもありました。

困ったのは、たまに古いモデル名を指定してきたり、急に突拍子もないリファクタを始めたりすること。そういうときは「待って、それは要らない」と止める判断が必要でした。

一緒に開発している感覚が、思っていた以上に楽しかったです。


詰まったところ(正直に3つ)

ひとつめはSupabaseのRLS(Row Level Security)。テーブルにデータを入れても、フロントから取得すると空配列が返ってくる。原因は、RLSポリシーで自分のuser_idに紐づくレコードしか見えない設定にしていたのに、INSERT時にuser_idを入れ忘れていたことでした。状況をそのまま伝えたら、ポリシーとINSERTの両方を直してくれました。

ふたつめはStripe Webhookの署名検証エラー。No signatures found matching the expected signature でハマりました。Next.jsのAPI Routeでbodyをパースしてしまっていたのが原因で、生のbodyを渡すように修正して解決。

みっつめは本番デプロイ直後の真っ白画面。ブラウザのコンソールにCSP違反のエラーが大量に出ていました。next.config.js のヘッダ設定を見直したら直りました。

どの詰まりも、エラーメッセージを丸ごと貼って状況を説明したら候補を出してくれて、助かりました。


やってみてわかったこと

コードが書けなくても、動くものは作れるんだな、というのが正直な感想です。実際こうして本番にデプロイされて動いていますし。

ただ、「なぜこのエラーが起きているのか」をある程度理解しようとする姿勢は必要だと感じました。Claudeの提案を全部そのまま採用していたら、たぶんどこかで詰まっていた気がします。「これはなんで?」と聞き返すことで、自分の理解も少しずつ深まっていきました。

そしてもうひとつ。開発って、思っていたよりずっと楽しかったです。動かなかったものが動く瞬間の小さな達成感が、ずっと続く感じ。

いま一番楽しいのは「次に何を作ろうか」を考えている時間です。


おわりに

実はいま、もうひとつ別のプロダクトも作っています。MeetingMind AI という、会議の議事録からアクションアイテムを自動抽出するWebアプリです。こちらはまだ作りかけで、開発過程をGitHubで公開しています。

https://github.com/takepon7/meeting-mind

ポートフォリオとして、これからも興味のあるものを少しずつ作っていく予定です。開発職へのキャリアチェンジを目指している身としては、ひとつでも形にできるものを増やしていきたいなと。

同じようにAIと一緒に開発を楽しんでいる方がいたら、ぜひコメントで感想や進捗を教えてもらえると嬉しいです。


タグ: ClaudeCode 個人開発 Next.js Supabase 作ってみた

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?