01
Ship a streaming answer with a real stop button
A spinner turns a 12-second wait into “is it broken?”. Visible steps and a stop control change how fast it feels and who's in charge. At Bing, every 100ms of speed was worth 0.6% of revenue.
You'll end up with: A working prototype of an AI answer that shows its steps, streams, and can be stopped and continued.
Steps
- Copy the brief into your AI coding tool and run it.
- Check the four states: thinking, streaming, stopped, done.
- Fix what the tool got wrong. It's usually the stop: half an answer with no way forward.
- Take two screenshots: mid-stream and stopped.
- Submit for review.
The brief to paste into your AI tool
Build a single-page web prototype of an AI assistant answer inside a contracts app. Plain HTML, CSS and JS. No backend. When the user asks "Summarize the 3 vendor contracts": 1. Show visible steps first: "Reading 3 documents", "Finding conflicts", "Writing summary". Each gets a check when done. 2. Then stream this answer word by word, about 30 words per second: "Two contracts renew automatically in March. Northwind's notice period is 90 days; the others are 30. The Acme rate rises 8% on renewal. Recommendation: send Northwind notice before January 1." 3. While streaming, show a Stop button. Stop keeps the text so far, labels it "Stopped", and offers Continue and Regenerate. 4. Total run time about 12 seconds. Works at 390px and 1280px wide.
How it's reviewed
| Visible progress | Steps appear before text, so the wait has meaning. |
| Real control | Stop keeps the partial answer; Continue picks up where it stopped. |
| Distinct states | Thinking, streaming, stopped and done each look different. |
| Craft | Type, spacing and motion hold up at 390px. |
Stretch: Make step 2 fail and design the partial-result message.