From Brief to AI Chat Components
The client wanted its assistant to feel built into the product, not bolted on as a separate chatbot. I designed the conversation pieces for it: user and assistant bubbles, message states, agentic indicators, and follow-up prompt chips. I started from paper sketches and low-fidelity concepts, then used them to steer Claude as it built each component.
Because every color and radius runs through the chat’s own component tokens, the pieces could be restyled for the new brand without touching their structure. They later became the building blocks of a sales demo that showed off agentic workflows across the product.
#203 · Add ChatBubble · 3 review rounds · approved Jul 8, 2026
What review caught
01 “--chat-assistant-radius is dead on arrival… re-skinning the assistant bubble silently does nothing.”
→ Both bubbles read their own radius token, so each can be re-skinned.
02 “Should almost never do styling using JS like this.”
→ Replaced the JS hover styling on the suggestion chips with CSS.
03 “Pass null to suppress the avatar… there is no working suppress path.”
→ Fixed the avatar guard so the avatar-less state actually renders.
04 “It embeds another atom (UserAvatar), so… classify it as a molecule?”
→ Reclassified ChatBubble as a molecule.
962af03 Address ChatBubble review feedback
a1346e2 Reclassify ChatBubble as a molecule
Review comments from our technical lead on my ChatBubble pull request, trimmed, next to the version that merged.