← Kishor APerflo

De-slopping a money app for AI agents, from audit to brand

Perflo lets an AI agent spend real money. Its live product looked generated. I audited it, then rebuilt brand, site and app.

Perflo 2 landing page with the product in the hero
Perflo 2 landing page on a phone
Role
Audit, brand, website and app
Year
2026
Audit
46 annotated screens
Perflo 2
Three days, forty commits

Finding where people get lost by using the app with real money

46 screens, small real payments. Every finding failed the Trunk Test: you could not tell where you were, or where things lived.

  1. Four navigations. A sidebar, a profile menu and two tab bars that overlap.
  2. Seven names for one balance. Total balance, net worth, available to spend and four more.
  3. Two editors for one policy. Permissions and Spending both changed the same limits.
  4. Fifteen rules across four tabs. Every limit you could set, scattered.
  5. Connect and Connect Apps. Two pages, two names, nearly one job.
perflo.ai home: the sidebar, a payouts setup card and the balance rail

De-slopping the surface, one generated tell at a time

The structure lost people. The surface lost trust: the patterns generated apps reach for, on a product that holds real money.

  1. Italic serif accent words. A decorative tic in a product about money.
  2. A pixel font for the balance. The most important number, in the least legible face.
  3. Uppercase, letter spaced labels. Small type shouting on every card.
  4. Glowing terracotta buttons. Three on one screen, so none of them leads.
  5. Identical icon cards. Same shape, same weight, nothing to choose between.
perflo.ai home, marked with the patterns of a generated interface

Naming one balance once, so nobody has to recall which is which

Seven labels for one balance broke consistency and forced recall over recognition. Now it has one name, on one card, everywhere.

Total balance
Home
Net worth
Accounts
Agent spending
Pay per use
Available to spend
Spending
Available to spend, again
Workspace footer
Spending balance and free credit
Workspace money
The Perflo 2 allowance card: what the agent may spend
Available to spend, on one card

Borrowing patterns people already trust, following Jakob's law

People spend most of their time in other apps. I took one proven pattern from each of six, and wrote down what to leave behind.

Revolut: real product UI floating over photography

Revolut: real UI over photography. Left its gradient.

Warp: a system voice in monospace

Warp: the mono system voice

PayPal: black pill buttons and heavy headlines

PayPal: the black pill

Robinhood: rich black with one accent

Robinhood: one accent on black

Resend: the product itself as the hero

Resend: restraint

Phantom: a friendly, ownable brand shape

Phantom: an ownable shape

Replacing a borrowed orange with a signature that belongs to Perflo

Warm orange is the default accent of generated apps, and it read as Claude. Flat yellow failed as text. Ink and one glow did both jobs.

Available to spend ₹8,450 Agent limit reached
Flat orangeCutIt read as Claude.
Available to spend ₹8,450 Agent limit reached
Flat yellowCutIt failed as text on paper.
Available to spend ₹8,450 Agent limit reached
Ink and one glowKeptInk means control. The glow means the agent.

Iterating in rounds, so every decision was tested before it shipped

Each round ran in a lab page beside the real product, then rolled out to every screen from the tokens.

  1. Round 1
    Lab round 1: the A and B blend
    How far to leanRevolut softness with Warp’s mono voice.
  2. Round 2
    Lab round 2: General Sans and Martian Mono
    The type pairGeneral Sans and Martian Mono.
  3. Round 3
    Ink and glass object art
    The artObjects in ink and frosted glass, and a mascot.
  4. Round 4
    Flo, the mascot that was hidden
    The serious passThe mascot hidden, the original mark back.
  5. Round 5
    The hero mid ask
    The hero runs the productAn ask is typed, checked and landed.

Testing how far to lean between consumer warmth and pro tool precision

Same parts, same screen, three directions. The blend kept consumer softness and gave the system its own voice for receipts and labels.

Lab variant A, Revolut leaning
A, consumerCutSoft, but the system had no voice.
Lab variant C, Warp leaning
C, pro toolCutToo developer for a money app.
Lab variant A and B blended
A with B’s voiceKeptSoft cards and big numbers, labels and receipts in mono.

Retiring the pixel font and italic serif for type built for money

The same balance and receipt, set live in the three pairings from the lab. A sans for people, a mono for the machine's voice.

₹1,048.95 Your agent paid Swiggy paid ₹240 · within limit · 14:02
Host Grotesk, Geist MonoCutThe pairing round one started from.
₹1,048.95 Your agent paid Swiggy paid ₹240 · within limit · 14:02
Cabinet Grotesk, JetBrains MonoCut
₹1,048.95 Your agent paid Swiggy paid ₹240 · within limit · 14:02
General Sans, Martian MonoKeptPicked in round two, the mono tuned to sit at the sans size.

Reserving one light for the one action that matters on each screen

Light spills from below the primary action and moves only while the agent works, so status is visible without a spinner.

lemon #ffe433 · 42% lime #b8e356 · 22% sage #5fcb8b · 16%

blur 12px · spill 26% · opacity 0.8 · saturation 1.15

Cutting a mascot that made a money app feel less trustworthy

Flo, a firefly whose tail is the glow, was charming as art. Beside a balance it read unserious, so object art took its slots.

Flo, flat: bold shapes, no outline
Flo, flatCutIt made the site read unserious next to money.
Flo in 3D: ink body, frosted glass tail lit from inside
Flo, 3DCutBetter rendered, the same problem.
The ink and glass objects that took the mascot’s slots
ObjectsKeptSame materials and light, no character.

Showing the product working, instead of describing it

In the hero an ask types into the composer, the agent checks it against the allowance card, and a receipt lands.

Leading with the product, so the first screen explains what it does

The old site opened on a headline and a call button. The new one opens on a real request and its receipt.

perflo.ai landing: headline, compliance card and a workshop scene
perflo.ai
Perflo 2 landing: an ask typed, checked and landed as a receipt
Perflo 2

Making the agent's spending limit one object you can recognise

The allowance card is the only ink object in the app. Budget, what is used and who issued it, wherever money is at stake.

The allowance card: the agent’s budget, what is used and what is left
Accounts, the rail

Writing agent actions as receipts you can check at a glance

Mono, with the amount highlighted. You read what your agent did the way you read a bank statement.

Agent receipts in mono with the amounts highlighted
Accounts, recent activity

Preventing mistakes by making a limit readable while you set it

Fifteen rules on four tabs became one page. The slider and the meter are the same picture, and Save appears only after a change.

A limit slider drawn as a segmented meter
Limits, most per deposit

Drawing every payment as a path, so the rules are visible

Straight means it sends itself. A dip means it waits for you. Refused and declined are where it can stop.

The payment path: straight auto send, a dip for approval, and the stops

18

fixes from an anti-slop design review, shipped the same day

Every route in both themes, at desktop and phone widths, motion on and off. Uppercase eyebrows, a second glow and stray accents all went.

Keeping the original mark, so existing users still recognise it

The original glyph, unchanged in shape, now sits paper on ink. It flips with the theme and never glows.

The perflo.ai mark in terracotta
Before, perflo.ai
The Perflo 2 mark: a paper P on ink
After, Perflo 2

Giving every colour one job, so the meaning survives the next designer

Each colour has what it means and what it must never do. A token lint enforces it, so taste does not have to.

MeansNever
InkThe primary key, limits, the allowance cardA second trust colour
The one primary action; it drifts only while the agent worksPink, blue or purple; two on one view
PistachioSecondary keys, the active nav item, the highlight behind agent amountsText on paper; a status
Green, redMoney in, declinedDecoration
MonoThe system's voice: paid ₹240 · 14:02Headings or capitals

Replacing decoration with ink, paper and one glow

Colour carries meaning, never decoration. Ink means control. The glow means the agent.

Paper#F6F6F4Cool paper, the ground
Ink#111113Limits, pause and the allowance card
Pistachio#E5EECBOne pale tint, never text
Lemon#FFE433The glow, long
Lime#B8E356The glow, medium
Sage#5FCB8BThe glow, short

Ranking every button, so only one action glows on each screen

The live app lit several terracotta buttons at once, so none led. Now one primary glows per view, and nothing destructive ever does.

Primary: ink and the glow, one per view
Secondary: pistachio Neutral: ink at 6% Tertiary: text
DailyWeeklyMonthlyChips: hairline, ink when chosen Destructive: never glows Disabled: 40%, no glow

40

commits in three days, every route rebuilt from the tokens out

Each round: types, a token lint that blocks raw values, a production build, then real browser screenshots.

Both versions are live, side by side

perflo.ai is the live product. Perflo 2 is the same product after my audit and redesign.

Next caseXyra LabsBeing the only designer at Xyra Labs, from logo to code
kishor · agent · ~/portfolio