By the numbers

13
visible AI states, each with its own treatment, no spinners
11
connected sections on one typed schema
4
direction levers instead of prompts
Product brief
Night Builder is an interaction design study with one question behind it: how might AI become a collaborative creative medium rather than a chatbot? The demonstration domain is planning a music driven night, chosen because the content makes the prototype specific and believable while the interaction model stays the subject.
The user never messages an assistant. They type an intent, and it becomes a canvas of eleven connected sections. The system proposes, connects, revises, and acts in the open; the user edits, steers, approves, adjusts, interrupts, and undoes. Music is the connected demonstration system: change one musical variable and the statement, journey, timeline, energy curve, environment, and DJ direction update in ways you can follow.
Everything runs on one typed schema. Generated content varies; the interface structure never does. The model never generates UI.

13
visible AI states, each with its own treatment, no spinners
11
connected sections on one typed schema
4
direction levers instead of prompts
I framed the design question and built the prototype: the interaction model, the visual language for AI states, the adaptive canvas and its stage switch, the direction levers with their zones, the proposal and What Changed pipeline, the conflict rules and the Uncertain state, provenance marking, the typed schema and three authored experiences, and the accessibility work that makes every lever, curve point, and tab keyboard operable.
Role
Product Designer, Engineer
Timeframe
2026
Disciplines
Interaction Design, AI Product Design, Design Systems
Phase 4 of the roadmap, live. Generation is local by design: the intent selects between three authored experiences by keyword, and steering, connected updates, and conflict findings are deterministic rule tables, so the interaction patterns can be judged without generation noise. Real generation into the same schema is the next phase; none of the contracts change shape.
Stack
Next.js 15, React 19, TypeScript, Bootstrap 5 grid, Inter
Palette
Black, white, one purple. No gradients, no glow, no AI iconography
Platform
Desktop first web app, responsive to a phone; no account, no network


































Show that an AI product can propose, act, and explain itself on a canvas without a single chat bubble, and that the user keeps authorship the whole way.
Every AI product defaults to a chat box: a side panel, a message thread, a spinner, then a wall of text. It is the cheapest interface to ship and the weakest for creative work, because the system's thinking is hidden, its actions are invisible, and the user's only tool is another sentence. Night Builder is the alternative, built far enough to be judged: the AI as a collaborator on a shared canvas rather than a correspondent in a thread.
Someone planning a night has a feeling, not a spec: warm, social, a slow build into dancing. They need the system to understand that, propose a coherent whole, and let them steer it directly, without translating every adjustment into a prompt. They need to see what the system is doing and why, to say no or stop, to know which claims are facts and which are assumptions, and to keep their own edits when they decline the system's suggestions.
One strongly typed EventExperience schema carries everything: the statement, eleven sections, assumptions, decisions, the derived DJ direction, the direction values. Generated content fills the schema; the interface is built from the schema and never from the model's output. Content is non-deterministic, the interface is deterministic, and that is what makes the AI states, the What Changed summaries, and the jump links possible: the system always knows what it changed because the change is a diff on typed data, not a rewrite of a document.
Phase 3 dissolved the steering buttons into four continuous levers that live inside the sections they shape. The rule that makes them feel honest: visuals respond continuously while dragging, but language only changes at named zone boundaries, and the canvas shows which sections will be revised before the user commits. A lever crossing a zone is a simple, reversible action, so it acts immediately with Keep or Undo; a direct edit with wider consequences (moving a timeline moment thirty minutes, changing the music format) gets a proposal first. Calibrated autonomy, decided per action, not per product.
Check conflicts runs a visible Reading scan down the rail, then deterministic rules report where inputs pull against each other: the brief's guest count against the plan's capacity, moments with no room to breathe, a quiet brief against a peak-driven arc, wide-open social against peak energy, decisions still open once production is underway. Each finding shows the conflicting inputs side by side with options to choose between, plus Log as open decision when neither is right. A "keep it as planned" resolution marks the tension as intentional so the next check respects the call instead of nagging. The user's own edit is never undone by declining a suggestion; authorship stays separate from assistance.
Generation is local: free-form ideas outside the three authored themes land on the default. Steering language, connected update suggestions, and conflict findings are rule tables, not model output, deliberately, so the interaction patterns can be evaluated without generation noise. Zone recompositions overwrite manual edits to the fields they manage, and undo is one level. The one second applying window on local operations is honest scaffolding: it is the exact seam real model latency will occupy. Next is real generation into the same schema, with none of the contracts changing shape.