A full-screen AI levee interface where each stage is an adaptive interview with lock-based progression and dynamic tool-driven prompts.
Use this when you are building a brand discovery or marketing onboarding flow where AI interviews gate progress and end in a written strategy.
Similar patterns, and when each one is the better fit.

Levee User ResearchUse this when you are building a product research onboarding tool where each locked stage feeds earlier answers into a generated research plan.
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.
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.
ReasoningUse this when your chat needs to stream a model's reasoning parts next to its final answer so users can open and inspect how it got there.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-brand-strategy.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 (Brand Identity form, Target Audience form, Competitive Landscape chat, Strategy 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 where each stage is an adaptive interview with lock-based progression and dynamic tool-driven prompts.
Use this when you are building a brand discovery or marketing onboarding flow where AI interviews gate progress and end in a written strategy.
Similar patterns, and when each one is the better fit.

Levee User ResearchUse this when you are building a product research onboarding tool where each locked stage feeds earlier answers into a generated research plan.
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.
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.
ReasoningUse this when your chat needs to stream a model's reasoning parts next to its final answer so users can open and inspect how it got there.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-brand-strategy.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 (Brand Identity form, Target Audience form, Competitive Landscape chat, Strategy 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 where each stage is an adaptive interview with lock-based progression and dynamic tool-driven prompts.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
A full-screen AI levee interface where each stage is an adaptive interview with lock-based progression and dynamic tool-driven prompts.