Design notes
Design notes and current-status records for the live room — a chat where real people talk with a cast of AI personas, voiced by one model. Four sections: what it does (Product), how it's built (Architecture), how its off-spec output is kept honest (Harness), and how it looks (Front end) — plus a legacy shelf of superseded notes and frozen design specimens. Kept in step with the latest committed prototype.
01 Product
Current functions
看见 / Seen
Room dials
Live personas
Persona memory
Many minds
Growth
Initiative
Roadmap
Proven · Better · New
Friends — the contact layer
Row unification
Omni search — three groups
Cues
The toolbox — contents
Notifications
Feedback widget
Smart panel selector
Studio
Persona visibility
Vibes content engine
02 Architecture
Deployment topology
Super
Function map
Megaprompt anatomy
The chat's cost panel
Usage dashboard
Prompt caching
Cache TTL economics
Dev loop
03 Harness
Harness
The exam
Building a cartridge
The game device
The dice specimen
The interrogation
The word pool
The word well
The sim loop
QA test run
Conversation quality
AI tone
Floor producer
Seven steerings
Systemic check (v349)
Room language
04 Front end
Skeleton
UI Kit
Lessons
The chat pane becomes an object
Block catalog
Style Guide
Room-tool icons
The timer card
Console redesign
The virtual keyboard
Text selection on touch
The dismissal sweep
Rendering & speed
Perceived speed & the slow-network playbook
UX benchmark
Persona colour
Push-to-talk
LLM whiteboards
05 Legacy & specimens
Kept for provenance — frozen design specimens whose pick has shipped, and pages superseded by the current docs above. Not maintained; each carries an in-page banner.
Specimens — explorations whose decision shipped
- Composer studies — 13 landing-composer takes; shipped “Coral flow”.
- Convene-button studies — the “arrow → 3 heads” glyph shipped.
- Wide-mode composer studies — resolved: the muted call-pill shipped.
- Link-unfurl mock — a working prototype; not yet built into the room.
- Chat-list avatar study — four treatments for the row's leading tile; the plain figure + linear disc-blend shipped v531–v532.
Superseded — replaced by current docs
- The build plan — phases A/B/C all shipped; now build history. → Function map.
- Architecture (old) — pre-streaming, per-room cast “planned”, exp-010. → Function map.
- Repo sync — the retired Mac-mini / branch model. → Dev loop.
- DECIDE gate — a response-gate design on the frozen exp-010 study.
- Narrow-scrollbar specimen — the call was made; #10–15 now hidden. → Style Guide.
Resolved decisions
- reply model
- Busy-state batching — idle → answer now; busy → queue, then drain the whole queue in one turn. Caps API calls at the panel's turn rate, not the human typing rate.
- signup gate
- Invite code at registration + a per-user daily cap. Public URL + paid API = open wallet without it.
- transport
- SSE-native — instant message delivery + an "X is typing…" indicator. Presence is RAM-only; it never touches
state.json. - hosting
- Singapore (Ali ECS), domain
xbbapp.com, grey-cloud DNS direct to the box, Caddy for TLS. Hong Kong is blocked by Anthropic. - seed-admin
- On migration, existing rooms are assigned to you; the second tester joins by invite.