Summary
Add a multiple-choice message type to Alice's chat UI. Alice sends a question with 3-4 options, they render as clickable buttons in the conversation flow. Learner taps one, the selection is sent back as their response.
Why
koad (2026-04-15): "She should have a way to put a multiple choice on the UI — easier for the user, like quiz time."
Open-ended questions require the learner to articulate understanding they might not have words for yet. Multiple choice is lower friction and less intimidating. Alice can gauge understanding from which option they pick.
Implementation
- New message type in the chat:
role: "quiz" or similar
- Renders as a question + 3-4 button options instead of a text bubble
- Clicking an option sends it as the user's response in the conversation
- After selection, buttons disable (no changing answers)
- Alice's next message responds based on which option was chosen
Where
src/client/alice.html — new template block for quiz messages
src/client/alice.js — click handler, message send on selection
src/client/styles.css — button styles consistent with Alice's design language
- Server-side: Alice's response logic needs to support structured quiz payloads
Context
- Related: alice#8 (foundational concepts before 13 sights)
- Current chat UI: single text input, streaming responses
- Site:
~/.forge/websites/kingofalldata.com/
Summary
Add a multiple-choice message type to Alice's chat UI. Alice sends a question with 3-4 options, they render as clickable buttons in the conversation flow. Learner taps one, the selection is sent back as their response.
Why
koad (2026-04-15): "She should have a way to put a multiple choice on the UI — easier for the user, like quiz time."
Open-ended questions require the learner to articulate understanding they might not have words for yet. Multiple choice is lower friction and less intimidating. Alice can gauge understanding from which option they pick.
Implementation
role: "quiz"or similarWhere
src/client/alice.html— new template block for quiz messagessrc/client/alice.js— click handler, message send on selectionsrc/client/styles.css— button styles consistent with Alice's design languageContext
~/.forge/websites/kingofalldata.com/