A full-screen AI levee interface that guides users through building a complete user research plan and interview guide with lock-based progression.
Use this when you are building a product research onboarding tool where each locked stage feeds earlier answers into a generated research plan.
Similar patterns, and when each one is the better fit.

AI Wizard Brand StrategyUse this when you are building a brand discovery or marketing onboarding flow where AI interviews gate progress and end in a written strategy.
HIL Inquire Text InputUse this when your agent needs to pause mid-loop, ask the user an open-ended question, and resume once they type a free-text answer.
HIL Inquire Multiple ChoiceUse this when an agent loop must stop on an inquire tool call to collect a multiple-choice answer before continuing with that context.
AI Profile Enrichment FormUse this when users fill out a sparse profile form and you want AI to stream in the missing fields for them to review before accepting.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: OPENAI_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
OPENAI_API_KEYGet keyAI SDK APIs
useChatDefaultChatTransporttoolToolLoopAgenthasToolCallstepCountIscreateUIMessageStreamProviders
External services
app/page.tsxapp/layout.tsxapp/api/levee/route.tscomponents/levee-user-research.tsxcomponents/stage-chat.tsxcomponents/empty-state.tsxcomponents/tool-views/multiple-choice-view.tsxcomponents/tool-views/rating-view.tsxcomponents/tool-views/text-input-view.tsxcomponents/tool-views/lock-update-view.tsxlib/types.tslib/stages.tslib/rate-limit.tslib/ai/levee-stream-config.tslib/ai/tools/ask-multiple-choice-tool.tslib/ai/tools/ask-rating-tool.tslib/ai/tools/ask-text-input-tool.tslib/ai/tools/complete-stage-tool.tslib/ai/tools/evaluate-lock-tool.tslib/ai/tools/index.tsREADME.mdnpm packages
7
Registry components
lib/stages.tsStage configuration array defining 4 stages (Research Context form, Research Questions QA, Interview Guide QA, Research Plan Synthesis). Each stage has lock items, initial inputs, agent instructions, and tool sets.
ai/levee-stream-config.tsBuilds streamText config per stage mode. Contains system prompt construction with mode-specific rules (form, chat, synthesis), tool set selection, and stop conditions. Central orchestration logic.
levee/route.tsStreaming API endpoint. Validates with Zod, calls buildStreamConfig, uses prepareStep to force evaluateLock after tool calls, streams lock updates via onStepFinish, and generates synthesis document on completeStage.
A full-screen AI levee interface that guides users through building a complete user research plan and interview guide with lock-based progression.
Use this when you are building a product research onboarding tool where each locked stage feeds earlier answers into a generated research plan.
Similar patterns, and when each one is the better fit.

AI Wizard Brand StrategyUse this when you are building a brand discovery or marketing onboarding flow where AI interviews gate progress and end in a written strategy.
HIL Inquire Text InputUse this when your agent needs to pause mid-loop, ask the user an open-ended question, and resume once they type a free-text answer.
HIL Inquire Multiple ChoiceUse this when an agent loop must stop on an inquire tool call to collect a multiple-choice answer before continuing with that context.
AI Profile Enrichment FormUse this when users fill out a sparse profile form and you want AI to stream in the missing fields for them to review before accepting.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: OPENAI_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
OPENAI_API_KEYGet keyAI SDK APIs
useChatDefaultChatTransporttoolToolLoopAgenthasToolCallstepCountIscreateUIMessageStreamProviders
External services
app/page.tsxapp/layout.tsxapp/api/levee/route.tscomponents/levee-user-research.tsxcomponents/stage-chat.tsxcomponents/empty-state.tsxcomponents/tool-views/multiple-choice-view.tsxcomponents/tool-views/rating-view.tsxcomponents/tool-views/text-input-view.tsxcomponents/tool-views/lock-update-view.tsxlib/types.tslib/stages.tslib/rate-limit.tslib/ai/levee-stream-config.tslib/ai/tools/ask-multiple-choice-tool.tslib/ai/tools/ask-rating-tool.tslib/ai/tools/ask-text-input-tool.tslib/ai/tools/complete-stage-tool.tslib/ai/tools/evaluate-lock-tool.tslib/ai/tools/index.tsREADME.mdnpm packages
7
Registry components
lib/stages.tsStage configuration array defining 4 stages (Research Context form, Research Questions QA, Interview Guide QA, Research Plan Synthesis). Each stage has lock items, initial inputs, agent instructions, and tool sets.
ai/levee-stream-config.tsBuilds streamText config per stage mode. Contains system prompt construction with mode-specific rules (form, chat, synthesis), tool set selection, and stop conditions. Central orchestration logic.
levee/route.tsStreaming API endpoint. Validates with Zod, calls buildStreamConfig, uses prepareStep to force evaluateLock after tool calls, streams lock updates via onStepFinish, and generates synthesis document on completeStage.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
A full-screen AI levee interface that guides users through building a complete user research plan and interview guide with lock-based progression.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
A full-screen AI levee interface that guides users through building a complete user research plan and interview guide with lock-based progression.