Charlie preparing a privacy-protected retirement financial-readiness assessment

Charlie — Privacy-first AI assistant

Redesigning a financial AI users didn’t trust yet

In early research, only 1–2 of every 10 users continued after starting a chat and reaching the bank-connection flow. Over 2–3 weeks, I studied the problem with 20 users, redesigned Charlie’s trust checkpoints, and shipped changes that reduced privacy questions while improving confidence and comprehension.

RoleDesign Engineer

Timeline2026

ImplementationResearch, interaction design, AI-assisted functional prototypes, and shipped frontend work

What

I joined a product whose privacy architecture was stronger than its explanation. New users landed directly in chat without knowing Charlie was a protective layer — not the model itself. They were then pushed toward connecting a bank account before the product had explained what it would access, what would leave, or whether connection was optional.

How

Across 2 research rounds over 2–3 weeks, I studied 20 users aged 25–60, translated the findings into trust checkpoints, and moved from feature brief to functional prototype in 1–2 days.

Impact

Users asked fewer privacy questions and showed stronger confidence and comprehension; the research also shaped the company's enterprise go-to-market strategy.

NDA Alert — mockups in this case study are illustrative, reimagined to protect sensitive product details while preserving the design approach, decisions, and outcomes that shaped the work.

01Context

The privacy architecture worked. The experience didn’t explain it.

Charlie masked identity before requests reached the model, but users landed in chat without knowing that — or why the product needed their financial data.

Charlie is an AI-powered personal assistant that masks identifying data before a query leaves the product, so the model gets useful context without knowing who the user is. The first wedge was personal finance, where trust breaks quickly if security feels confusing or heavy.

I led user research, feature design, and rapid AI-assisted prototyping across onboarding, data masking, source ingestion, and recurring assistant tasks.

Diagram showing the gap between enterprise buyer needs and end-user trust needs.

Fig: The gap between buyer requirements and end-user trust

02Problem

Trust broke before the first question

The product asked for sensitive context and a bank connection before users understood the privacy model or saw a meaningful choice.

The experience asked for trust in the wrong order. Users were expected to share sensitive financial context before Charlie had explained what it was, how its privacy layer worked, or what control they retained.

I needed to make the infrastructure legible without making the product feel like surveillance — preserving clarity, control, and momentum in the same flow.

Illustrative Charlie onboarding screens for a privacy-first assistant.

Fig: Onboarding flow

Decision: explain before you ask

Early builds dropped users straight into chat with no explanation of what Charlie was — not the model itself, but a privacy layer in front of one. I pushed to front-load that explanation. In interviews, users who saw it upfront understood the mechanism before their first query, and were already positive about Charlie by the time they reached the chat.

Diagram: user signs up and is dropped straight into chat, leaving four unanswered questions about what Charlie is
Diagram: user signs up, goes through onboarding explaining what Charlie is, then reaches the chat window confident

Fig: 4 recurring questions the new onboarding needed to answer before first contact

Charlie masking user data before sending a query to an external LLM.

Fig: Masking a query before it leaves the product

Decision: choice over coercion

Early versions pushed users to connect a bank account the moment they landed. I pushed back — some users weren't comfortable linking an account, dummy or real, and preferred typing raw numbers. We replaced the push with a real choice: "You can connect bank accounts or give me raw numbers, whichever you're comfortable with."

Across 20 users over 2–3 weeks, the redesigned experience produced fewer privacy questions and stronger confidence and comprehension. Trust was built through the product experience itself, not disclaimers or consent screens.

03Discovery

No research brief, so I built the evidence loop

Across 2 research rounds with 20 users aged 25–60, I identified the trust gap behind abandonment and translated it into roadmap and go-to-market questions.

Over 2–3 weeks, I ran 2 rounds of usability research with 20 users and identified a critical trust gap that was driving abandonment. I advocated for human-in-the-loop checkpoints and formal usability testing. The work quickly moved beyond screens into product strategy: who is this actually for, and what does each audience need to trust?

Research observations translated into product strategy questions.

Fig: Observations turned into strategic product questions

In a B2B2C model, the enterprise buyer and the end user are different people. I translated session observations into four strategy questions that leadership could use to shape the roadmap.

The team's early focus was B2B sales — reasonable, but it risked treating end-user trust as secondary.

Diagram titled One research method, two audiences: unmoderated sessions become institution-tagged interviews, which become evidence for enterprise outreach and get adopted into go-to-market.

I flagged that if the product didn't hold up for real users, it would eventually undermine the enterprise pitch itself. The team agreed, and I took the initiative to lead the UX work directly.

04Data Package Review

“Why does Charlie have this — and why is it leaving?”

Four unmoderated sessions exposed the failure of a raw-data review screen. I rebuilt it around the context users actually needed.

I ran 4 unmoderated evaluation sessions across mobile and desktop, focused on the Data Package Review component: the moment where users decide what context to share before a query goes out.

Across the broader onboarding and chat journey, only 1–2 of every 10 participants continued after starting a chat and reaching bank connection. The review screen showed why: it surfaced every raw field being pulled — full transaction logs, unfiltered. Users asked the exact question you don't want at a trust checkpoint: "why does Charlie have this, and why is it about to leave?" I rebuilt the review UI around what needed to be shown, not everything that could be.

Brief insights from Charlie user testing sessions.

Fig: Brief insights from testing

05Agent UX

Replacing “Thinking…” with the truth

I mapped interface language to backend events so users could see the actual operation underway.

One of the first things I noticed after joining was the assistant's loading state: it cycled through generic filler — "Thinking...", "Pondering...", "Frolicking..." — copy that didn't match a security-first product handling sensitive data. I rewrote and shipped event-based phrases mapped to the actual backend action underway: a data lookup, a permissions check, a model handoff, each with its own phrase. Now, when the agent is working through something, users know exactly what it's doing, because the UI is telling the truth.

Code diff showing generic thinking phrases like Thinking and Pondering replaced with phrases describing the actual action, like searching records and retrieving permissions

Fig: Generic filler replaced with phrases tied to what the agent is actually doing (illustrative reconstruction)

Code showing thinking phrases mapped one-to-one with backend tool and event names, grouped by data lookup, derivation, external model handoff, workflows, and saving

Fig: Every backend event mapped to its own phrase, so the copy tracks what's actually happening (illustrative reconstruction)

Takeaway — for an agent, thinking phrases aren't decoration, they're a live status readout. Static UX is designed around states; agent UX has to be designed around events. The backend is design material.

06Design & Architecture

Four shipped systems that made privacy feel invisible

Each started from a trust problem and shipped as part of the product — none were speculative concepts.

I moved from feature brief to functional prototype in 1–2 days, then carried 4 modular systems into the shipped product. Each made privacy operate as invisible infrastructure:

Shipped1. Visualizing the knowledge graph: The shipped experience personalized recommendations across 6 connected financial data sources, giving users one place to understand, manage, and audit the information shaping Charlie’s answers.

Interactive knowledge graph interface for Charlie, illustrating connected financial nodes.

Fig: Interactive knowledge graph - Illustrative only; original data and structure withheld under NDA

Income and Spending panel showing a mortgage balance field sourced from MonthlySavings.pdf.

Fig: Source attribution shown in the user's profile

Takeaway — testing showed provenance mattered more to users than the masking itself — knowing where a number came from built more trust than hiding it did. Field-level source attribution across 15 shipped profile fields gave users a way to verify each number, reducing errors and confusion during testing.

Shipped2. Frictionless ingestion via email sync: A secure email-forwarding verification pipeline — frictionless enough that connecting a new source feels like a natural step, not a security checkpoint.

Document inbox with email verification flow for connecting a new data source.

Fig: A way to connect through emails seamlessly

Shipped3. Local-first voice architecture: I designed and shipped the full feature, protecting sensitive user input while preserving the speed and naturalness of voice interaction for users increasingly comfortable speaking to an assistant over typing.

Early ideation concept for Charlie's local-first voice architecture.

Fig: Exploring task execution UI with Claude Design

Shipped4. Autonomous task execution: A structured task-scheduling modal that lets users set up persistent financial check-ins in plain English — no configuration overhead. I owned 4 of 9 implementation tickets and shipped my frontend scope in 3 days against a 2-week estimate set by the PM and CPO.

Create a routine modal for scheduling a recurring financial check-in task.

Fig: Tasks to run on recurrence

07Impact

From user trust to product strategy

The work strengthened user confidence, shipped at production scale, and influenced the roadmap and enterprise story.

Across 20 users over 2–3 weeks, the redesigned experience produced fewer privacy questions and stronger confidence and comprehension. The shipped product supported 6 connected financial data sources and field-level provenance across 15 profile fields.

I also delivered 4 of the feature's 9 autonomous-task tickets in 3 days against a 2-week estimate. The research framework went on to shape formal testing, the product roadmap, and enterprise conversations.

Scout job-search workspace
Next Case Study Scout: From 230 Roles Across 5 Sources to 3 Worth My Time A source-directed job-search copilot that narrows the search to the roles worth pursuing. Read case study