Case studyFinancial Finesse2026Design, prototypes, production components

One AI coach, three places to meet her.

Aimee is Financial Finesse's AI financial coach. I designed her front end and coded the prototypes and component library engineering built from. Then I merged the token layer and four components into the production SDK myself.

3
Surfaces: Hub, client sites, Teams
1
Component library, public on this site
4
Components I merged into the SDK
AA
Contrast in light and dark, built into the token layer I merged
Aimee on mobile: a wellness-milestones card listing the steps a member has checked off
Aimee on mobile: a financial snapshot answer with an assets-versus-debt bar chart
Aimee on mobile: a certified human coach joining the same conversation
01 · At a glance

People asking AI about retirement need to know what they're talking to

And they need a human within reach. Aimee had to deliver both in three places, each with its own frame and front door.

The problem

Three homes: the logged-in Hub, client benefits sites, and Microsoft Teams. Three front ends would split the brand and triple the upkeep.

The bet

One system: a design-system spec, a locked library of blocks Aimee speaks in, and coded prototypes engineering builds from.

My role

Visual language, interaction model, the spec, coded prototypes, and production components. Platform engineers built the SDK.

Team

Platform engineers (the SDK, React and A2UI) · the coaching back end and model team

Built with

HTML, CSS, and JavaScript prototypes with live streaming · a DESIGN-SYSTEM.md spec · tokens and components in the React SDK

Status

Components merged into the production SDK · usage not published

02 · The system

Every answer is built from the same pieces

Every answer is built from typed blocks. A colored rail tells you what kind of card you're reading before you read it.

The typed card system: an analysis card with a navy rail, a recommendation card with a teal rail, and a coach card with a gold rail
Navy analyzes, teal recommends, gold brings in a personCoral is saved for the single most urgent item, so urgency means something when it shows up.

See the components live ↗

03 · Trust

Honest about the AI, with a human one tap away

She's an "AI coach," never a "virtual assistant." When the AI isn't enough, a named, certified coach joins the same thread.

Aimee on desktop bringing in a live certified coach: a banner names Cyrus Purnell, CFP, as he joins the conversation
The step upThe coach joins the same conversation, named with a credential, and the plan carries over. Escalation never means starting again.

A standing disclaimer

"Aimee can make mistakes. Please double-check important answers." sits under every composer, where people read answers.

A correction on every reply

Thumbs up, thumbs down, and copy under each answer.

Words first, then cards

Cards and charts wait until the sentence finishes, so an answer never looks half-broken.

Restraint as a rule

Three blocks per turn at most, one primary action per card.

A design rationale, not a measured trust outcome. Stream retry, missing context, and correcting a user's wrong assumption live in the SDK and back end engineering owns; I didn't design those states.

04 · Three homes

The same coach, wherever she lives

The vocabulary never changes. The host decides the front door, the frame, and how much room the coach gets.

Aimee full screen inside the Hub: a greeting, the composer, and starter questions
In the HubThe widest layout, with cards that link straight into plan actions.
On a client's siteA floating button opens a compact panel, then full screen, and history survives every switch. In Teams, Teams owns the frame, so the coach keeps only the thread and composer.
05 · What review caught

The user's words never shrink

In one build, the user's message drifted to 14.5px while Aimee's reply stayed at 16. Review against the prototype caught it, and I made the rule part of the token layer so it can't drift again.

A coaching answer where the user's question and Aimee's reply render at the same size, with cards and an assets-versus-debt chart below
Same size, both voices16px on mobile, 17px on desktop, for the question and the answer.
06 · How I worked

I designed it in code, then shipped it myself

Prototypes, not mockups

Real HTML, CSS, and JavaScript with live streaming and state, so flows could be felt before production code.

A spec people use

DESIGN-SYSTEM.md set the tokens, the type, every component, and the accessibility hard rules.

A contract to build from

Engineering built the SDK from the component library, and we reviewed it against the prototype.

Then I shipped it

I merged the token layer and the empty state, conversations, icon, and card-shell components into the SDK between July 21 and August 17, 2026.

07 · Scope

What shipped, and what isn't measured here

3

Surfaces designed from one component library (scope, not usage)

1

Documented design system and component library, public on this site

4

Components I merged into the production SDK, plus the token layer, Jul 21 – Aug 17, 2026

No active-user or trust-outcome figure for Aimee is published here. The platform's customers employ 1M+ people who are eligible for it: that's reach, not usage.

One coaching vocabulary for three hosts, with the AI named honestly and a human one tap away. Designed by one person, built with engineering, and finished in production code by the same designer.