Kevin Thomas

Product Designer · Creative Director Email LinkedIn Instagram Resume (PDF) Full deck (PDF)
RésuméKevin Thomas
Kevin Thomas
Designer · Creative Director
Bengaluru, India
connect.tkevin@gmail.com · +91 8075703281
linkedin.com/in/njankevin
Kevin Thomas
Experience
Jan 2025 - PresentRemote
Freelance Branding Independent

Brand and art direction for food, culture and music clients - identity, space, packaging and social.

brwlab - built a specialty coffee brand end to end: identity, physical space, packaging and social media.
Dec 2024 - May 2026Bengaluru
Co-Founder & Creative Director Maachis.art

Built the Instagram community from 0 to 58K followers. Led content design, cultural curation, collaborations and visual storytelling around Indian matchbox art.

Featured in Platform · ELLE · The Nod · Indian Express
Jul 2022 - Jul 2024Bengaluru
Product Designer Zolve

Designed cross-border financial experiences, translating complex banking and credit journeys into clear user flows, prototypes and polished interfaces.

2022 - PresentRemote
Creative Resident Bloomingreen Festival

Built the festival ticketing website and led UI/UX. Directed Bloom TV, a behind-the-scenes series documenting the making of the festival.

Jun 2021 - Jan 2022Bengaluru
UI/UX Designer FlashPrep

Designed learning flows for an edtech platform built around bite-sized learning, spaced repetition and active recall.

Education
2018 - 2021Bengaluru
BCA St Joseph's University

Bachelor of Computer Application

Skills
Professional
Technical
Creative & art direction
Figma, UI/UX, prototyping
Content design & copywriting
Illustrator, Photoshop, After Effects, Premiere
Cultural curation & collaborations
Wireframing, user research, Mixpanel
The companyZolve

Banking for people with no credit history

Zolve is a cross-border neobank. It gives international students and professionals moving to the US a bank account and a credit card before they land - underwritten on their home-country credit file, with no SSN and no US credit history required.

The Zolve Mastercard
02
Case studyZolve

Card Upgrade

Moving free-tier cardholders onto a paid premium card.

FinTech iOS & Android Product-led growth End-to-end
ContextThe card lineup

Three tiers. Almost everybody sat on the free one.

Classic
Free

No boosted cashback at Zolve Select brands. Every month on Classic left money on the table.

Signature
$99 / year  ·  $9.99 / month

Boosted cashback on 3 chosen brands, Mastercard cover, dollar-worth credit. The tier this project targeted.

Black
$299 / year  ·  $29.99 / month

5 chosen brands, higher cover, higher credit.

The gap between Classic and Signature was worth real money every month to anyone already spending at a Zolve Select brand. That gap is what the entire pitch would later be built on.
03
ContextScope & role

What I owned

End-to-end product design on the upgrade journey: research, cohort definition with risk, every screen and the edge states.

Design

Discovery surfaces, value proposition, savings calculator, commit flow, re-issue states, post-upgrade recovery.

Worked with

Product, Engineering, Ops, Risk & Credit, Legal and Compliance.

Measured in

Mixpanel funnels per entry point, read over a four-week cycle after launch.

04
Current dataMarket opportunity

A massive opportunity for product-led growth

Roughly a third of the base was already checking for an upgrade - and more than 90% of them dropped off at the very next step. The intent existed. The product wasn't converting it.

89%
Of ~28K cardholders still on the free Classic tier
~36%
Have checked the option to upgrade
<1%
Have upgraded
Support tickets surfaced ~110 independent upgrade requests through keyword tagging - people asking for this by hand.
05
The questionHow might we

How might we increase conversion by 4-9% for users interested in upgrading their card?

To match the industry average at 4%, and beat it at 9-10%.

User researchMethod

Surveys and one-on-one interviews

  • Survey insights from ~1.3k active users
  • 15+ interviews across cohorts in the actively transacting user base, to understand the drop-off in depth
~27%
Showed active interest in upgrading
Interest was never the problem. Something was stopping people who already wanted the better card.
06
User researchWhy they drop off

Three reasons,
in order of weight

Every user who wanted the upgrade was stopped by one of three things. The biggest was never about price.

Trust deficit60%
Visibility41%
Value prop33%
07
The real problemTrust

Upgrading isn't a pricing problem.
It's a trust problem.

To move someone to a better card, Zolve has to re-issue it. The old card stops working the instant you upgrade, and the replacement takes 7-10 days. We were asking people to give up a card that works today for one they can't hold yet.

ApproachOne pillar per finding
Trust deficit · 60%

Remove one doubt per screen

Answer every doubt about the old card before the user thinks to ask it.

Visibility · 41%

Meet users where they already are

Put the offer on the surfaces they already open, and cap how often it asks.

Value prop · 33%

Make the number personal

Show each user what their own spend would have earned on a paid tier.

08
Before the pixelsCohort & structure

Not everyone gets the offer

Defined the cohort first, with risk and credit - active users with real spend history, no delinquency, no fraud flags. The check runs before anything is shown, so nobody is pitched an upgrade they'd be declined for.

Then the whole journey was structured in low fidelity first - entry points, pitch, commit, re-issue, recovery.

Low-fidelity wireframes mapping the upgrade journey
09
Visibility · 41%Where eligibility lives

Discovery, where the user already is

Eligibility shouldn't be something you go hunting for. The primary surface sits on the home screen, which every user opens first.

The profile menu carries the same offer for people who go looking deliberately.

Home screen upgrade strip
Home stripUnder the card, beside the balance
Profile menu upgrade entry
Profile menuFor users who go looking
10
Visibility · 41%Contextual nudges

Two nudges tied to real spend

The rewards section shows what the free card cost the user last month. The post-payment nudge fires at the one moment the user is already thinking about money.

Both are capped at three views, with a remind-me-later that resurfaces twice before going quiet for good.

Rewards nudge showing missed cashback
Rewards nudgeWhat the free card cost you
Post-payment nudge
Post-paymentAt the moment of spend
11
Value prop · 33%Signature & Black, with and without a limit increase

The pitch had to read as a tier you qualified for

The pitch leads with concrete value - boosted cashback at the user's own top brands, Mastercard cover, credit worth real dollars - with FAQs inline to pre-empt the "what happens to my old card?" hesitation.

The same page serves both premium tiers, and reshapes for users who also qualify for a credit-limit increase by leading with the new limit instead.

Signature value proposition page
Value proposition led by a credit-limit increase
Black tier value proposition page
12
Value prop · 33%The agent pitch, as a screen

Support agents were already converting people with one number

They read a user their own spend, then what that spend would have earned on a paid tier. Those calls converted, so I turned the script into a screen.

Benefits comparison across tiers
CompareTiers side by side
Savings calculator spend input
Enter your spendA single stepper
Estimating your savings loading state
EstimatingCalculating against the entered spend
Personalised savings breakdown
What you're missingReal dollars, monthly and yearly
13
Trust · 60%Commit

Two decisions between intent and commitment

How to pay, and agreeing to the terms. Annual is framed as the value choice - $99 a year against $9.99 a month on Signature - while monthly stays the low-commitment default so nobody is pushed.

The terms screen shows the user's own name embossed on the new card with their own name on it, so they can see what they are agreeing to before they confirm.

Choose payment plan screen
Payment planAnnual as the saver, monthly as the safe default
Terms and conditions with the personalised card
Terms & conditionsYour name on it, before you commit
Black tier payment plan at $299 a year
Black tierThe same flow at $299/yr
14
Trust · 60%The anxious moment

The riskiest second in the flow

The old card has just stopped working. Instead of a spinner, the processing screen animates the classic card physically transforming into the premium one, so the wait shows the thing being done rather than a spinner.

A virtual card is live immediately, so there is never a moment with no usable card. Delayed and failure states were designed alongside the happy path.

Processing screen with the card transforming
ProcessingThe card transforms while the re-issue runs
Upgrade success screen
Card upgradedThe virtual card already works
15
Trust · 60%Landing safely

Winning the upgrade is only half of it - the user has to be caught

Post-upgrade explainer of what changed
What changedAuto-pay and billers carried over
Post-upgrade get-started checklist
Get-started checklistThree steps to a fully active card
Delivery address confirmation
Confirm deliveryPre-filled address - one tap
Steps to enjoy the premium benefits checklist
Premium benefitsOrder, add to Apple Pay, pick 3 brands
16
Behind the UIThe system it sits on

The flow looks simple because the complexity was resolved underneath it

Worked through with engineering, ops and legal, against Mastercard's re-issuance rules. The card re-issues on the same credit line so the score is untouched, pending bills carry to the next statement, and auto-pay moves across.

Backend flow chart covering pitch, upgrade, re-issuance, delivery and reminders
17
ResultsAfter a 4-week cycle

Conversion landed at 5.6%

Inside the 4-9% target, and above the 4% industry average - from a starting point of under 1%.

~36%~48%
Discovery
<1%5.6%
Upgraded
50%
Reduction in support tickets
18
ReflectionWhat I'd carry forward
01

Concentrate discovery, don't spread it

Six entry points diluted the effort. Home and profile did nearly all the work. I'd ship two surfaces and instrument them hard before adding more.

02

I buried my own best argument

Agents led with a personalised number and it converted. In-app I put it behind an optional tap, and most users never opened it. It belonged inside the pitch.

19
Case studyZolve

FlexiPay

Turning one big credit card purchase into a plan you control.

FinTech iOS & Android Credit & lending End-to-end Proposal stage - designed, not launched
FlexiPayThe problem

Make a big purchase feel planned instead of painful - without letting the user forget it's still debt.

A single large purchase can wreck a student's month. FlexiPay splits it into fixed monthly instalments for a flat fee, payable in cash or in rewards already earned.

FlexiPayTwo audiences, one screen

Friendly language in front of a rule engine

The user wants the plan to feel free and flexible: no interest, pay with points, get out whenever.

Risk, Finance and Legal need each of those promises true only inside tight bounds. The design job was making the friendly version never become a lie.

Minimum purchase$100
Paid on time0% APR
Payment missedCard APR
Mid-plan changesNone
ExitPrepay or foreclose
FlexiPayBefore the pixels

Eligibility and price,
before any screen

Every purchase over $100 is checked against a risk rule engine before it is ever shown as convertible - utilisation, delinquency history, how often the account transacts, and the mix of merchants it spends at. Customers are tiered by how reliably they clear their balance.

This is the part of the flow the user never sees. It is the reason nobody is offered a plan and then refused one.

3 months$10 or 3.5%
6 months$15 or 6%
Over $500$20 minimum
Zolve pre-funds the balance and earns the fee, so every conversion has to clear debt cost, delinquency risk, and the interest given up from users who would have revolved anyway.
FlexiPayDiscovery

Surfaced where the spend already lives

Four surfaces, each tied to a moment the user is already thinking about the purchase.

Home screen banner to convert a transaction
Home bannerUnder the card
Payments tab entry card
Payments tabBeside the card balance
Statement with an eligible transaction tagged
In the statementTagged on the eligible purchase
Onboarding card introducing instalments
OnboardingShown once, before anything is picked
FlexiPayShaping the plan

The whole decision on one screen

Drag the slider to change tenure and the monthly number updates live. Tick a box to pay the fee from rewards instead of cash. Nothing hides behind a second screen until the user asks for it.

Tenure slider with monthly repayment
Tenure sliderMonthly amount updates live
Instalment schedule expanded
ScheduleEvery date and amount, on demand
Review and confirm summary
Review & confirmFull summary before confirming
FlexiPaySecond pass

What changed after the first version

The first version buried the numbers people actually compare behind a "Show More." Someone weighing 3 months against 6 had to expand a drawer to see the trade-off - exactly the moment you don't want friction.

The second pass split the same information into two tabs and promoted three fields that had been hidden: the tenure, the exact instalment amount, and the first due date.

Version one with a collapsed schedule
v1 - one blockSchedule collapsed below the fold
Version two with details and schedule tabs
v2 - two tabsTenure and due date now explicit
FlexiPayLiving with a plan

It has to stay honest about what's still owed

Active instalment plans list
Active plansEverything live, in one place
Plan progress, one of three paid
ProgressCounted in instalments, not a bar
Schedule with paid, upcoming and due states
Instalment statesPaid, upcoming, due - plus autopay
Partial payment redistributed with a late fee
The honest edge caseUnderpay, and the next one shows it
The decision I'd defend hardest: when someone pays less than a full instalment, the shortfall is added to the next one and flagged with its late fee right there on the schedule. The easy version hides that in a statement footnote.
FlexiPayGetting out early

A plan can't be cancelled, but it can always be paid down faster

I reused the existing bill-pay screen so one keypad handles two intents: a partial prepayment that spreads across the remaining instalments, or a full foreclosure that clears and closes the plan. That keeps exits inside the payment and autopay logic that already exists.

Bill pay with prepayment and foreclosure
One keypad, two intentsThe same familiar surface
Initiating payment
InitiatingTransfer in progress
Payment initiated with settlement time
ConfirmedWith an expected settlement time
FlexiPayWhere it landed

Designed and specced, not yet launched

There's no usage data to claim. What the work produced is a flow that holds up against what Risk, Finance and Legal each need from it.

What the design settled
  • Late fees and shortfalls appear on the schedule, not in a statement footnote
  • Eligibility runs first, so nobody is shown a plan they'd be declined for
  • Exits ride on the existing bill-pay surface rather than a new flow
What I'd measure first
  • Drop-off between seeing the offer and confirming a plan
  • Whether the tenure slider changes behaviour, or everyone takes the default
  • How many pay the fee in points instead of cash
  • Rate of missed instalments - where a friendly product turns into card APR