/ 01 — The problem
What was broken.
Most LLM UIs in 2023 treated model output as if it were a query result — render and done. That worked for demos but failed users the moment the model was wrong, slow, or interrupted.
Keynote at JSConf.id 2023 on how to design UIs that gracefully handle LLM uncertainty — streaming, interruption, citations, and the 'admit-when-unsure' pattern.
Most LLM UIs in 2023 treated model output as if it were a query result — render and done. That worked for demos but failed users the moment the model was wrong, slow, or interrupted.
Walked through six concrete UI patterns I'd seen work — streaming with interrupt, source-citation popovers, confidence-gated actions, regret-free retries, structured handoffs, and 'show your work' panels. Live coded the simplest one.
Talk hit 1.8k views in 3 months. Patterns became the basis of stream-ui (project #3). Invited to give variations at 2 follow-on meetups.