個人開発 / AIインタビュー・構造化レポートMVP
InsightLoop
回答に応じてAIが質問を深掘りし、会話から構造化レポートを作成する個人開発のWebアプリ。質問の上限や進行はアプリ側で制御し、画面・LLM連携・データ保存をつなぎます。
この制作物は個人開発です。クライアント案件や実業務での改善実績ではありません。
課題・制作の目的
固定の質問だけでは回答の背景を掘り下げにくく、インタビュー後の整理にも手間がかかります。一方、会話の進行をLLMだけに任せると、質問が増え続けたり終了条件が曖昧になったりします。追加質問の生成と、進行ルールを分ける仕組みを検証しました。
担当範囲
個人開発(画面・API・会話制御・LLM連携・データ保存の設計と実装)
技術スタック
- Next.js 16
- React 19
- TypeScript
- Mastra
- OpenAIモデル連携
- Zod
- PostgreSQL
- Drizzle ORM
- OpenAPI 3.1
- Vitest
実装内容
調査の目的とTopicを設定し、インタビューの開始、回答、深掘り質問、レポートの表示へ進むMVPです。MastraのAgent / Workflowが質問候補とレポートを生成し、Zodで出力を検証。質問上限、Topic進行、重複質問への対応、終了条件、保存はDomain / Application側で制御します。
- 目的・対象者・Topic・質問上限を設定するProject画面
- 回答と追質問をつなぐInterview画面、質問数・深掘り回数・状態の制御
- 要約・発見・引用・提案・未回答事項を表示するReport画面
- PostgreSQL / Drizzleによる保存と、ローカル確認用Memory Repository
- OpenAPI 3.1からのTypeScript型・Zod・typed fetch SDK生成、Swagger UI
確認できる成果
Project → Interview → Reportの画面、LLM連携、会話制御、データ保存を接続したMVPを実装。紹介内容は公開ソースの確認に基づき、実ユーザーの利用効果・LLM出力の品質・本番運用実績は未検証です。
確認対象は以下の公開サイト・デモ・ソースコードと記載した実装範囲です。売上・問い合わせ数・工数削減率の測定値は掲載していません。外部デモは公開状況によって利用できない場合があります。
開発の設計ノート
機能を動かすだけでなく、AIの結果・画面の操作・アプリのルールをどうつなぐかを考えました。以下は公開ソースで確認できる設計・実装の紹介です。
AIの提案と進行ルールを分離する
LLMは追質問の候補を作り、アプリは質問上限・深掘り回数・Topic進行・終了を制御します。新しいAI機能でも、業務上の制約を通常のプログラムとして扱う設計例です。
画面・API・保存を同じ流れにつなぐ
Project、Interview、Reportの画面にAPIとRepositoryを接続。PostgreSQL保存とMemory Repository、LLM連携とDemo Adapterを切り替える構成で、外部接続なしのローカル確認も可能です。
API契約とAI出力を検証する
OpenAPIをもとにクライアントの型・SDK・Zodスキーマを生成し、Route Handlerの入出力を検証します。LLM出力にも別のZodスキーマを使い、画面で扱える形式かを確認します。
現在の検証範囲・制約
- 個人開発のMVPで、実案件の導入効果や成果数値は掲載していません。今回、実OpenAI API・PostgreSQLへの接続や出力品質は検証していません。
- 認証・認可、レート制限、idempotency、非同期Report job、本番監視は未実装です。不特定多数向けの本番サービスとして紹介していません。
- Evaluation APIは501を返します。Eval実行、Prompt管理UI、音声入力、RAGは実装済み機能に含めません。
- Zodはデータ形式を検証します。レポートの引用や内容の正確性を保証するものではありません。
関連サービス
同様の開発を相談する
必要な機能や現在の課題をお知らせください。
開発を相談する