
Key contributions to AdventHealth’s 50+ page design system.
- Interaction Design
- Motion Design
- UI Components
- Design System Documentation
- Product Design
- Product Strategy

Chat Container
The chat container unifies all chat components, encompassing both content and conversation.
It consists of a header, content section, and composer.
This component can be used for designing chat bot and live agent experiences within the AdventHealth patient portal.

Chat Header
The chat header occupies the top section of the chat component. Displaying essential information such as the name, status, and actions. The chat header has two states:
Minimized: When users are not actively interacting with the chat conversation, the header appears persistent on top of the content. The minimized header indicates the chat status of a collapsed conversation while navigating to other parts of the product.
Expanded: The header of an open chat conversation is affixed to the top of the chat container and includes the name, status, and additional actions relevant to the expanded version.
To enhance consistency across all platforms, the design & content of the mobile chat header and the web chat header are identical.

Placement - Web
On the web, the chat container is anchored to the bottom-right with a right-padding of 24px.
In its expanded form, the container is a fixed width of 395px and a fixed height of 640px.
When minimized, the chat header remains anchored to the bottom-right and stays visible as users navigate between pages.

Placement - Responsive Mobile
On responsive mobile, the expanded chat container occupies the full screen of the device.
When minimized, the re-entry point becomes a Floating Action Button 16 px from the bottom and right side of the screen. The FAB stays visible as users navigate between AdventHealth Account pages.
Review the Floating Action Button documentation for specifics on the component behavior.

Chat Composer
The chat composer is the input area anchored to the bottom of the chat container, where users can type messages and attach files.
The "Send" button remains disabled until the user begins typing.
There’s no character limit for messages in the composer, but the input field is capped at a maximum height of 216px.
For longer messages, a scrollbar appears to accommodate the overflow.
Keyboard submission should be enabled, allowing users to send messages using their device’s keyboard, such as pressing "Enter."

Composer Anatomy
- Container
- Attachment Icon Button
- Text field
- Send Icon Button

Chat Content
Each chat is made up of interchangeable bases, where each bubble is either inbound or outbound.
Bases are designed to accommodate flexible content, such as messages or loading animations, within any base—whether inbound or outbound.
Bases can also be content outside the bubble, such as media or attachments.
Stamps mark important timing or context.

Inbound & Outbound Messages
Outbound (user) are the brand color and are aligned to the right.
Inbound (Chat Advocate/Hope) are a neutral color and are aligned to the left. Name stamps are attached to the top of inbound message groups.
Consistent padding inside the bubbles and proper spacing between them enhance readability.
Each message includes a timestamp to provide context.
Failed messages display a clear error message under the message, with an option to resubmit.

Spacing & Padding
Message Padding
- Avatar & Bubble Padding: 8px
- Bubble Padding: 12px
- Corner Radius: 8px, Bottom Right 0px
Conversation Padding
- Chat Message Padding: 16px
- Multiple Message Padding: 8px
- Right Scrolling Padding: 32px


Attachments & Media
- Attachments
- Attachments should support various file types (PDFs and documents, with size limitations of 20 MB)
- When an attachment is uploaded, it should display as a rounded list within the chat bubble, with the option to download when clicked.
- All Failed uploads display a clear error message as a snackbar.
- Media Attachments
- Images and Videos
- Media behavior includes image previews that expand when clicked

Typing Animation
Typing animations in chat indicate when someone is typing, creating a sense of real-time conversation and helping reduce the anxiety of waiting for replies.
The chat circles animation uses a staggered effect, in which each circle appears sequentially with overlapping animations. Each bubble scales from 0% to 100%, but the timing varies for each one.

System Messages
Convey information related to the platform's status, such as surveys, offline alerts, or updates about the chat environment, and are not specific to individual users or agents.

Filter Chips
Filter chips allow users to scan multiple options to quickly make a decision.

Quick Actions
Quick Actions are interactive buttons designed to facilitate user choices and streamline their journey within the chat interface.
These components are tied to specific user actions, such as scheduling appointments, selecting time options, or completing surveys.

Chat Adaptive Cards
Adaptive Cards are interactive chat elements used to gather user input through fields, display important information for verification, and provide opportunities for a call to action.

More Case Studies


Clear age requirements decrease patient frustration while lowering related support calls.









