Components
A growing set of structured input components. Each one is a controlled React component with a Zod schema for wiring it up to AI tool calls.
Single Select
Pick one option from a list, with an optional freeform note for extra context.
Multi Select
Pick up to N options. Remaining capacity is shown; unselected cards dim at the limit.
Priority Rank
Drag items to reorder your priorities. Numbered rows reflect the current ranking.
Fill Blank
Mad-libs template with inline editable slots. Constraints spark clarity.
Negation Select
Strike-through elimination — pick what you definitely don't want.
Open Questions
Stack of open-ended questions, each with its own auto-growing textarea.
Spectrum
Slider between two labeled poles — surfaces shades of grey that radio buttons miss.
Agreement Spectrum
Likert-rate a batch of statements, optionally compared to how others answered.
Card Sort
Multi-bucket triage. MoSCoW the features into must-have, nice-to-have, and out-of-scope.
Spatial Canvas
Place items on a two-axis canvas — effort × impact, cost × value, the canonical 2×2.
Quick Estimate
Stack two or three related single-pick lists — budget + timeline is the canonical case.
Conditional Branch
Binary or four-way branch with a tailored follow-up per path.
Matrix
Row × level grid assessment for capability audits, feature maturity, or risk exposure.
Goals / Non-Goals
Paired list builder. For every goal, name the non-goal that frames it.
User Story Builder
Repeatable "As a ___, I want ___, so that ___" composer with chip suggestions per slot.
Metric Target
Pick a success metric, name a numeric target, pick a timeframe.
Question Sequence
Chain multiple Socratic components into a one-question-at-a-time flow with pagination, skip/next actions, and keyboard navigation.