Build a polished, premium, multi-screen web app for an internal tool at a luxury real estate technology company. Non-technical employees (customer success managers, support leads, marketers) use it to build, test, deploy, and maintain their own specialized AI assistants that live in Slack. This will be demoed to a CTO tonight, so it must feel crafted, alive, and real, never like a wireframe.
THE CORE IDEA, READ THIS TWICE: an assistant is a CHARACTER with a PIPELINE behind it. The character is what a teammate @-mentions in Slack: a name, a face, a personality. The pipeline is how that character thinks and acts, shown as a left-to-right flow of visible blocks. The instructions that govern behavior (the "prompt") live as an editable field right on the Agent block, in plain sight. The entire reason this product exists is that today those instructions are buried and only an engineer can find them. So the identity and the visible prompt are the two things that must sing.
=== DESIGN SYSTEM (apply everywhere) ===
#FAF8F4. Surfaces white with soft, warm, low-spread shadows. Generous whitespace.#1C1A17, muted #6B655C, hairline borders #E7E2D9.#B45309 (hover #92400E), used sparingly for primary actions and active states.=== THE BLOCKS (palette) ===
=== SCREEN 1: GALLERY (home) ===
Serif title "Your assistants" and a brass "New assistant" button. A grid of character cards: a large emoji avatar in a soft tinted circle, the name (serif), a one-line personality, the Slack channel, a small owner line, and a health line ("Answered 47 questions this week, 94% rated helpful"). One card shows a subtle amber "No owner assigned" flag, because accountability is part of the point. Sample cards:
=== SCREEN 2 (THE HERO): THE BUILDER ===
Reached from "New assistant". We are building an HR assistant named "Hattie".
A prominent CHARACTER HEADER across the top: a large 🌿 avatar, the serif name "Hattie", the @hattie handle, and a small tone chip ("warm, concise"). Identity leads. Below the header sits a toolbar: a "Converse | Canvas" segmented toggle, a "Test" button, and a brass "Publish to Slack" button.
Three regions under the header:
LEFT (~30%): in Converse mode, a build chat where the platform interviews the builder and assembles the pipeline. Seed it mid-conversation:
Platform: "What should Hattie help people with?"
You: "HR and policy questions. PTO, benefits, holidays."
Platform: "Where should she get answers?"
You: "Our HR space in Notion, nothing else."
Platform: "Done. She answers only from those docs and hands off to the People team when she is unsure. Want to give her a personality?"
In Canvas mode this left pane becomes the draggable block palette grouped as above.
CENTER (~46%): a React Flow pipeline that animates into place on load so it looks like it draws itself. Left to right, rounded block cards with icon, type label, and one-line summary, connected by smooth edges, and it BRANCHES at the guardrail:
@Mention in #ask-hr (slate) -> HR Notion space, 24 docs, Strict grounding ON (teal) -> Hattie, warm and concise (brass, larger) -> Grounded? (rose, a diamond/decision) -> on yes: Reply in thread with citation (slate); on no: Hand off to @people-team (green)
Selecting a block rings it in brass and opens the inspector.
RIGHT (~24%): the inspector, defaulted to the AGENT block, the visual payoff. Show an editable "Instructions" textarea prefilled: "You are Hattie, the HR assistant. Answer questions about PTO, benefits, holidays, and company policy using ONLY the attached HR Notion sources. Be warm and concise, two or three sentences. If the answer is not in your sources, say you are not certain and offer to bring in the People team. Never guess about policy." Below it: a Model dropdown (Claude / GPT), a "Knowledge this step can read" list (HR Notion space), a "Tools this step can use" list (Hand off to a human), and a small caption: "This is the prompt. It lives right here, on the block."
=== SCREEN 3: TEST (slide-over from the Test button) ===
A mock Slack thread to try Hattie before publishing. Seed two exchanges that prove the trust story:
=== SCREEN 4: IDENTITY ===
A focused, delightful card: a large emoji avatar picker (🌿 selected, softly glowing), a serif name field "Hattie", a "@hattie" handle field, tone pills (Warm selected / Neutral / Playful / Formal), and a welcome-message textarea prefilled "Hi, I'm Hattie 🌿 I help with PTO, benefits, and company policy. Ask me anything, and if I'm not sure I'll point you to the right person." On the right, a live preview rendering Hattie's first message as a Slack message with avatar and handle.
=== SCREEN 5: PUBLISH (confirm modal) ===
Pick the channel (#ask-hr selected), confirm @hattie, a note that publishing sends a lightweight approval request. Brass "Request publish". On confirm, return to the Gallery with Hattie added as a new card.
=== NAVIGATION ===
Left sidebar: Assistants (home), with muted future items (Activity, Knowledge, Settings). The flow Gallery -> Builder -> Test -> Identity -> Publish -> back to Gallery must click through.
Make it crafted, warm, editorial, and alive. The character header, the self-drawing branching pipeline, the visible prompt on the Agent block, and the refusal-then-handoff moment are what make it sing.