The intern task I refused to do twice
Every new client meant white-labeling the same Figma flow, a 2-day wait. I turned it into a 10-minute self-serve tool.
tl;dr
- What
- A self-serve tool where anyone at Setu can white-label the Account Aggregator demo flow, brand to consent parameters, and share it as a link.
- Why
- Each new client demo meant white-labeling the Figma by hand. 6 to 10 times a month, 2 days each time.
- My role
- The intern the grunt work was assigned to. I rebuilt the flow in Next.js instead, Feb 2025.
- Result
- A 2-day designer dependency became a 10-minute self-serve job for sales, the lead's words, not mine.
before we start, a quick question
Do you know what an Account Aggregator is?
Context
Setu, part of Pine Labs, builds fintech infrastructure. One of its products is the Account Aggregator gateway, built on RBI's framework where a user consents to sharing their financial data. When a bank or NBFC uses Setu's AA, their customer sees a consent flow: log in with OTP, pick accounts, review what's being shared and for how long, approve.
That flow is white-labeled. Axis Bank's customers should see Axis Bank, not Setu.
The ritual
Every time sales opened a conversation with a new client, the same ritual ran.
step 1 · day 0
Sales pings design: a new client wants to see the flow in their brand.
step 2
Design finds time between roadmap work. Usually the newest joiner, or the intern.
step 3
Duplicate the master Figma. Swap the logo, colors, fonts, and copy across every screen.
step 4 · day 2
A static prototype lands back with sales. The client is a little less warm than they were.
6 to 10 times a month, ~2 days each
Look at who this actually hurt:
Sales
Lost momentum in the exact window a client was warm, stuck waiting with context passing back and forth.
Designers
The work arrived as interrupts between real product work, and always landed on whoever joined last.
The client
A bank evaluating a consent product got a static prototype instead of the real thing.
The bet
In Feb 2025, the ritual was assigned to me. I didn't want to do the same file-copying twice, and I have a computer science background, so I made a bet: instead of producing the deliverable, produce the machine that produces the deliverable.

What I built
I went through the entire Figma flow, every screen, every state, and recreated it as a working Next.js app using v0 by Vercel. Then I wrapped it in a settings panel: settings on the left, the living product on the right, a Copy link button on top.
I could show you a screenshot. But the whole point of the tool was that a live thing beats a picture, so here it is in miniature. Try it:
the-nexus-v2.vercel.app/?bank=axis&primary=%23971B4D&use=lending
Open full ↗Brand
Primary
#971B4D
Secondary
auto, from primary
tap a swatch to recolor
Consent purpose
Share bank account data with Axis Bank
Enter OTP sent to 9876543210
Resend OTP 2 retries left
Secure data sharing powered by Setu AA, an RBI licensed Account Aggregator. Learn more
The decisions
- 1
The preview is the product, not a picture of it. Sales and support aren't designers, they shouldn't wonder what their change just did. Type a color and the real flow repaints as you type, clickable end to end. Visibility of system status: they watch instead of guessing.
- 2
The URL is the database. Sales shares things over email and calls, minutes before a meeting. So no accounts, no backend, no save button. Every setting lives in the URL, and sharing a configured product is as hard as sharing a link.
- 3
Smart defaults with an escape hatch. Nobody on a sales call knows which secondary color pairs with a brand's primary, and they shouldn't have to. Enter the primary, the secondary calculates itself, with an override for the rare time the math gets it wrong.
- 4
White-label the story, not just the skin. Then I sat in the client's chair. A bank exec doesn't want to see a demo, they want to see their product. So the story is editable too: consent purpose, data types, limits, account types. Pitching a lender? The flow says "Verify income and underwrite loan." Their use case, wearing their brand.
What it deliberately isn't
Production. The real white-labeling of a signed client still goes through Setu's actual integration pipeline. The tool only replaces the Figma ritual for demos; that framing kept it small enough for an intern to ship and safe enough for nobody to block.
Impact
What it unlocked: sales and support configure and share demos themselves, 6 to 10 designer interrupts a month stopped existing, and clients now click through a live product wearing their own brand instead of watching a slideshow of one.
“A 2-day designer dependency became a 10-minute self-serve job for sales.”Design lead, Setu
What I learned
- 1
Build the system that replaces you. If a task is simple, executional, and has a pattern in it, a tool or a framework should be doing it, not me. The instinct in a new job is the opposite: become the person a process depends on, it feels like job security. But an artificial dependency on you is just grunt work wearing a badge. Replace yourself, and what you get back is time for the core parts of design, the thinking, the craft, the problems that don't have a pattern yet.
- 2
A live product beats a perfect mockup in a sales room. A Figma prototype asks the client to imagine; a working flow with their logo on it lets them believe. I'd rather spend two weeks building the second thing than two days a month producing the first.
Credits
An intern's side-build, but never a solo one.
- TT
Tirth Trivedi
Product Designer
Close collaboration and support, from the master Figma to the shipped tool.
- KJ
Kavya Jha
Head of Design
The encouragement that let an intern replace a design ritual with a tool.



