Conversational Ask — layout studies

Three ways to seat the persisted-conversation model on CoralSwarm. Same data, same tokens — switch to compare. Note where this is mockup-only (no real retrieval).

A · Classic sidebar

ChatGPT/Claude shape — conversation list left, thread center, composer pinned. Shown mid-stream.

strengths
  • Instantly familiar; zero learning curve
  • Sidebar always shows New chat + search + pinned + shared
  • Most screen for the thread
tensions
  • Two left columns (icon rail + convo list) can feel heavy
  • Citations live inline only — less provenance prominence
Auth decision rationale
Henderson ocean
SM
What did we decide about auth, and why?
synthesizedembed 41ms · retrieve 88ms · synthesize 1.20s
The team chose Clerk for auth, verifying its JWTs on the Rust backend1. The deciding factors were org-native multi-tenancy and a hosted key ceremony, which avoided building session rotation in-house2. JWT-only was considered but rejected as too much custom surface3.
cited corals · 3
1
ADR-0007 · auth provider
decision · Jun 8
↗ open
2
“org-native tenancy is the whole reason we’re not rolling our own”
meeting · Jun 7
↗ open
3
“pure JWT means we own rotation + revocation forever”
slack · Jun 6
↗ open
SM
Why not just Auth0 then?
synthesizedstreaming…
Auth0 came up in the same thread, but it was set aside on cost at the org tier and weaker first-class Organizations support at the time1. Clerk’s React + backend SDKs also matched the existing stack more closely
↵ send · ⇧↵ newline · answers grounded in the Henderson ocean

B · Focus / hero

Sidebar collapses to a rail; new chats open on a centered hero that yields to the thread on first send. Most “product”, least chrome.

strengths
  • Calm, centered empty state — keeps “Ask your ocean” as the protagonist
  • Sidebar tucks away; one focused column
  • Best on small/desktop windows
tensions
  • Conversation list is one click away (collapsed)
  • Switching between chats is slightly less glanceable
New chat
Henderson ocean ▾

Ask your ocean

A back-and-forth over every coral and reef in your ocean — answered with citations down to the source.

↑ empty state · once you send, the hero slides up and becomes the thread + bottom composer from variant A.

C · Provenance rail

Classic sidebar + a persistent right rail that collects every cited coral as you scroll. Leans into CoralSwarm’s “nothing is anonymous”.

strengths
  • Provenance is always visible, not buried under each turn
  • Differentiates from generic chat UIs — feels like CoralSwarm
  • Citations accumulate across the whole conversation
tensions
  • Three columns — needs width; collapses awkwardly on narrow screens
  • Inline [n] chips + rail can double-show sources
Auth decision rationale
Henderson
SM
What did we decide about auth, and why?
synthesized1.20s
The team chose Clerk, verifying its JWTs on the backend1. The drivers were org-native multi-tenancy and a hosted key ceremony2; pure JWT was rejected as too much custom surface3.
SM
Did anyone push back?
synthesized0.94s
Yes — there was concern about vendor lock-in raised in Slack4, answered by noting JWT verification stays standard and portable.
↵ send · ⇧↵ newline · cited corals collect in the rail →