← Back to portfolio
Jaris

Bringing Clarity to
How Money Moves

Managed Settlements was one of the most critical systems in the platform — it controlled how money moved across accounts, fees, and repayments. The system worked. But no one could explain how it worked.

Role Product Designer
Company Jaris
Timeline 2025
Focus Systems Design

The problem

  • Partners didn't know why fees were being applied to their merchants
  • Internal teams couldn't trace what happened when something went wrong
  • Configuration lived across multiple disconnected tools with no source of truth
  • No visibility into outcomes — no way to predict what the system would do or verify what it did

This wasn't just confusing — it created a fundamental lack of trust in how money was moving.

My role & team

I was the sole designer on the platform for 3.5 months, collaborating daily with my PM on product direction, the PM for underwriting where it intersected with settlements, and holding regular syncs with engineering and ops to stay grounded in technical constraints and real partner pain points. I operated with high autonomy — bringing design recommendations to stakeholders rather than waiting for direction.

The approach

The project started with a PRD from our banking PM proposing a global defaults model for fee configuration. It was directionally right — but full of open questions. I synthesized the PRD using Claude to surface edge cases, then spent the first week mapping flows and aligning with my PM and engineering on the path forward.

~3 weeks from alignment to shipped designs

That first week of mapping changed the project. What started as a UI improvement became a systems clarity problem — the issue wasn't how screens looked, it was that no one could predict what the system would do.

The work

Designed for Scale

This is the partner's front door. They land here to see every merchant at a glance — 6,789 accounts with status, search, and filters. From here, they click into any merchant to manage their specific configuration.

Shop Accounts dashboard showing 6,789 merchants with status badges, filters, and pagination
At scale review with my PM and eng, we stress-tested whether filters, status, and config entry points held up at thousands of rows — this layout is what we aligned on for scanability and support workflows.
Defaults That Cascade, Overrides When Needed

Click into a merchant and you land on their fee configuration. The header tells you immediately whether this merchant is on global defaults or has custom overrides. This two-tier model — global defaults that cascade, with per-merchant overrides when needed — is what makes the system scalable.

Merchant-level Configurations tab showing global defaults with option to override per merchant
I proposed this to my PM after mapping how fee configuration actually worked across the platform. We walked through alternatives — flat list, per-transaction rules, template presets — and the tradeoffs of each. My PM worried a hierarchy might be too rigid for partners with one-off needs; the merchant override layer was the answer. Engineering confirmed it was buildable in our window.
Global Configurations Flow

This is the global fee plan that applies to every merchant by default. Click through the full configuration path: the complete fee waterfall, expanding a row, adding a fee, editing the plan, and seeing the impact — all in one flow.

  1. The full waterfall — every fee type stacks vertically with a live calculator showing real dollar impact. Partners configure once here, and it cascades everywhere.
  2. Split Settlement expanded — one row opens to reveal context and the Add Split Fee action. Everything else stays collapsed and scannable.
  3. Add Split Fee (modal) — just the fields the pipeline needs — fee type, percentage, ceilings. No guesswork, no unused parameters.
  4. Edit Fee Plan — the full configuration view for an existing fee plan with real data filled in.
  5. Saved + impact — the system confirms the change and immediately recalculates the net payout ($4,037 → $3,888). Partners see the impact before it reaches a single merchant.
Tracing Every Dollar

This is the screen that proved the project worked. Click any deposit and the Tracker shows the full waterfall: $10,000 in → Processing Fee (-$290) → Reserve (-$971) → Loan Repayment (-$1,500) → $7,239 released. Every dollar accounted for. No black boxes. No support tickets. Just answers.

Merchant detail view with Deposit Tracker flyout showing the complete fee waterfall for a $10,000 deposit
This started from a pattern I kept seeing in ops support tickets — partners asking "why did my merchant only receive X instead of Y?" I brought that to my PM and proposed transaction-level visibility in the portal. Ops validated it would eliminate their most common escalation.
Operational Tools, Not Just Settings

This isn't a settings screen — it's an operational tool. Reserve balances, automated fee collection rules, filtered transfer history. Partners use this daily, not just during setup.

Reserve tab showing balance, target progress, fee collection controls, and filtered transaction history
Reserve behavior kept coming up in ops and partner calls. I paired with engineering on what could be surfaced safely; this tab is the operational surface, not a one-time setup screen.

Tradeoffs

Every decision meant choosing what to prioritize. I kept the configuration model simple and covered 90% of use cases, knowing we could handle the rest later. The backend couldn't support live data, so instead of faking it I designed around batch updates with clear timestamps. I gave users control over what actually mattered and let the system handle the rest predictably. And some edge cases like conflicting fee schedules weren't fully resolved in V2, but the architecture was built to support them without a redesign. Every one of these tradeoffs was a conversation with my PM and engineering — we agreed on what to ship now versus what to defer.

I used Claude and Cursor throughout — for synthesizing PRDs, pressure-testing edge cases, and moving faster through implementation. The judgment came from me; AI made the process faster.

Outcome

The system went from something people worked around to something they worked with.

40%
Reduction in fee-related support tickets within the first month
3→1
Configuration tools consolidated into a single experience
~3 wks
From alignment to shipped designs
  • Partners could self-serve for the first time — see exactly how fees were applied and what merchants received
  • Ops team could debug without engineering — the Deposit Tracker replaced their most common escalation
  • Scalable foundation shipped — architecture supports future features without requiring a redesign

This project taught me that in complex systems, the most impactful design work is structural, not visual. If I did it again, I'd push even earlier for quantitative baselines so every narrative had harder numbers behind it.

Reflections

Up next
Claude Onboarding Experience

Designing trust-first onboarding for AI at Anthropic.

View Case Study