Project Details

Zolvia — transaction review screen showing per-alert confidence states
Self-directed, 2026 · Live, working prototype

Zolvia — Designing Trust When the Model Isn't Sure

A fintech product exploring how to communicate automated risk decisions honestly — replacing a silent approve/block rule with an explicit, per-transaction confidence level the user can act on before the consequence lands.

Context

Fintech apps that automatically flag suspicious transactions typically resolve the decision on their own — the purchase is approved or blocked — and the user finds out only after the consequence has already happened, with no moment to confirm or deny in between.

Problem

Users have no intermediate step to weigh in when a transaction looks off to the system, and legitimate purchases get blocked without context, pushing people to build their own manual workarounds because even their statement doesn't explain the decision.

Role & Scope

Self-directed project (2026), inspired by domain experience at Mercado Pago, exploring how this experience would look today with AI tools and interaction patterns that didn't exist then — never using Mercado Pago's brand or real data. Led end-to-end: research, interaction model, design system, and a functional prototype.

Key Decisions

  • Replaced the binary approve/block rule with an explicit, per-transaction confidence level, surfacing the model's own uncertainty instead of hiding it behind a silent decision.
  • Grounded the interaction model in 8 user interviews, weighting each finding by source quality rather than raw mention frequency before trusting it.
  • Designed and implemented four distinct AI failure states — low confidence, corrected classification (model error), out of scope, and recovery — so the product has a defined behavior whenever the model doesn't just work.
  • Studied Revolut's real fraud-intervention flow for its interaction logic — progressive friction, contextualized confidence — and translated it into Zolvia's own visual language rather than copying its interface.
  • Built a three-layer design system (primitives → semantic tokens → components) and used it as the single source of truth across Figma, Lovable, and Claude Code.

See the full interaction flow (FigJam) ↗ · See the design system in Figma ↗

Validation

Tested the four failure states with three users across six structured tasks, logging both qualitative notes and quantitative metrics per person — not just whether something "felt clear."

  • All three participants corrected an incorrect classification unassisted, in a single attempt — the flow at the center of the product's premise held up under testing, not just on paper.
  • Two other patterns held 3 for 3: everyone understood the "needs review" badge without help, and everyone used the self-verification checklist before confirming a transfer to a new contact.
  • Testing also surfaced two real gaps — both since fixed: transaction labels no longer compete for attention in the list view, and the "See why" link on high-confidence transactions now has the visual hierarchy it needs to be found without a prompt.

Outcome

A fully designed and implemented product — research, interaction model, design system, and all four AI failure states — running as a live, working prototype, not a set of mockups. Below is the actual app, not a screen recording.

Try the live prototype

This isn't a set of static screens — it's the actual product, built mobile-first and running live. Tap into any transaction to see how the confidence states behave.