Sproutjar is a financial wellness app that helps you clear credit card debt, with an AI voice coach trained on positive psychology and life coaching.

You tell it what you owe. It builds the payoff plan, then Ren, a voice coach that can see your actual balances, calls it through with you: what to pay first, what you committed to last month, what happened when it went wrong. Built for salaried professionals in the UAE carrying balances across two to four cards.

I did the research, the positioning, the brand, the interface and the code.

It runs. Live database, live voice calls, a payoff engine doing real amortisation. What it does not have is users. Every figure on this page comes from research or from the seeded demo profile, and I have said which is which throughout.

outgrown the jar

Four minutes inside it

A call with Ren, the plant and the payoff date, the debt board, and what the product does with what you said after you hang up.

Built with

Devin
The engineer. Payoff engine, schema, four surfaces, voice plumbing, and the browser agent that walked the journey afterwards finding what I had missed.
Claude
Thinking partner for the research, the brief and the PRD, including the verdicts that came back against my own idea.
Convex
Live database under every screen and every tool, so the voice can never quote a balance the screen disagrees with.
ElevenLabs
The call, over WebRTC. Ren's prompt, turn taking and seven server tools that hit this app's own API routes.
Context.dev
Live retrieval behind Ren's balance transfer tool. Searches the bank's own pages and reads the published terms, with a source URL and a retrieval time on every figure.
GitHub
Pull requests with the reasoning written down, so the build history is a record of decisions.
Vercel
Hosting, with a preview URL per branch so the work could be opened on a real phone.

Ten steps, one AI assisted workflow, in the order it ran

Research to shipped, then audited twice

  1. 01

    Deep research

    Skeptical advisor prompt, Gulf rate mechanics

  2. 02

    Synthetic interviews

    Five personas, promoters and detractors

  3. 03

    PRD written

    42 features, unhappy paths weighted the same

  4. 04

    Brand and flows

    Logo, palette, plant animation, four journeys

  5. 05

    Voice agent trained

    ElevenLabs, prompt from the coaching research

  6. 06

    Built with Devin

    Next.js, the payoff engine, a PR per change

  7. 07

    Wired to live data

    Convex balances, Context.dev bank offers

  8. 08

    Shipped and recorded

    Vercel, then a Loom of the whole journey

  9. 09

    UX stress tested

    Gemini 3 Pro audit, fixes, a second pass

  10. 10

    Next

    Revealed soon

Seven numbers that make a Gulf credit card different from the one your payoff calculator assumes

39% to 44%

What a UAE card actually costs a year

Emirates NBD works its own examples at 3.25% and 3.69% a month. Citibank UAE publishes 42% moving to 44.28%. The US baseline in the source material was around 21.5%.
36.28% to 36.75%

What a Saudi card costs a year

Riyad Bank publishes a monthly term cost of 2.50% to 2.55% on its platinum and signature cards, stated as an annual profit rate of 36.28% to 36.75%. Islamic structure, same order of magnitude as Dubai.
12% a year

What a Qatar card costs, if your salary lands at the bank

QNB, Commercial Bank, Doha Bank and QIB all publish 1% a month on a revolving balance, and Doha Bank attributes the figure to Qatar Central Bank guidelines. Commercial Bank's tariff shows 2.25% a month, 27% a year, for customers without a salary transfer. Same habit problem, a third of the price, so the arithmetic has to be per market.
1% to 4%

How every Gulf bank quotes it: per month

A monthly rate does not feel like anything, and it is the convention from Dubai to Riyadh to Doha. Rule in the product: never leave a rate in monthly form, always show the year and the money charged this month.
+0.5% / month

Penalty for being late twice in six months

Emirates NBD's schedule of charges raises the finance charge on an account past due twice in six months. Roughly six points a year, with a specific trigger.
0 days grace

If you pay most of the balance, not all of it

Interest runs from the transaction date unless 100% is paid by the due date. People paying nearly everything believe they are being responsible and are not. Cash advances never get grace.
40% to 50%

How much salary can go to repayments, and it moves by country

The CBUAE caps the debt burden ratio at half of gross salary, and banks commonly count a slice of unused card limits. Kuwait's central bank caps instalments at 40% of net salary, 30% for pensioners. The plan has to be built from the person's own numbers, not a regional rule of thumb.

Credit card debt in the Gulf costs about twice what the internet thinks it does

Every payoff calculator, budgeting book and Reddit thread a person in Dubai reads was written for a market where a card charges around 21% a year. Here it is 39% to 44%, quoted at 3.25% a month so it sounds like nothing.

That gap is the whole reason this product is local rather than generic. At 44% the cost of hesitating for a year is not an inconvenience, it is a holiday, a school term, a chunk of a salary. And the mechanics that decide the outcome are the ones nobody reads: pay 95% of your statement and interest still runs from the transaction date, go late twice in six months and the rate itself goes up, keep a dormant card open and it eats your borrowing capacity under the 50% debt burden cap.

Retail credit in the UAE grew 16.1% last year and personal loans 8.6%, so more households are carrying more of this. But bad loans fell to 3.3%, and no public source breaks revolving card distress down by age, income or number of cards. So I wrote the honest version into the brief and kept it: the problem is strongly evidenced, the market size is not, and anyone who tells you the size of the UAE card crisis is guessing.

Never leave a rate in monthly form.

How the research was actually run

I did not ask for a report that agreed with me. I ran my own idea past a deliberately skeptical advisor prompt first: who exactly, what breaks in their week, what they already do instead, and why anything I built would beat that.

Every claim I could not source was tagged as an assumption and carried forward untouched, so the research had something specific to attack. Sources were kept in separate buckets and never blended: first person customer voice from UAE threads, institutional material from the CBUAE rulebook and bank key facts statements, vendor and pricing pages for the alternatives, and academic literature for the coaching claims. Anything that survived only in a vendor's marketing copy stayed labelled as such.

Then the verdicts came back, including on the assumption the first version of the product had been built on. I had believed people avoid their cards out of shame. That got contradicted as a primary explanation, and the product changed shape because of it.

  • “Shame appears, but so do job loss, illness, family expenses, accumulating EMIs, cash-flow mismatch, poor habits and misunderstandings.”

    Customer and market research report, verdict on my own assumption

My assumptions, and what the research did to them

  • People are struggling with cards and loans: supported strongly, at problem level
  • Shame is the main reason they stay stuck: contradicted as a primary explanation
  • They mainly need financial education: too narrow
  • A calculator or planner is enough: contradicted, they already have those
  • There is a UAE card debt crisis: not yet proven from public data
  • Voice should be the hero feature: not supported, the evidence validates a journey
  • Affordable coaching is an opportunity: partially supported, willingness to pay unvalidated

What people actually said

Twenty five first person quotes, mostly UAE threads from the last eighteen months. The pattern underneath them was not embarrassment. It was arithmetic that does not work, plans that die on contact with a bad month, and progress nobody can feel.

People were handing complete strangers every card, rate, EMI, salary and expense they had, in the hope that somebody would build them the plan. The stated need was almost always a number. The revealed need was a sequence: what do I pay, in what order, this month, given my actual life.

The line I keep coming back to is the last one. Someone had already repaid eleven thousand dollars and still could not experience it as success, because every interface they own shows them what is left. That is a design problem rather than a finance problem, and it is the one I could actually solve.

  • “just got my salary today and in a blink of an eye its gone (debts and bills lmao)”

    UAE thread, via the research report

  • “Please make this plan easy to read and understand without using complicated credit and finance terminology.”

    Someone asking strangers for a payoff plan

  • “The accountability is 90% of the value for me.”

    A user explaining what he paid a human coach for

  • “I don’t know how to change this or be ‘happy’ with my progress.”

    Someone eleven thousand dollars into paying it off

The unmet needs, ranked by how often they appeared

  • A realistic personalised path from today to debt free
  • Knowing what is genuinely affordable this month
  • Help sticking to the plan, not just receiving it
  • A plan that adapts after a bad month or a shock
  • Understanding the mechanics at the moment a decision is being made
  • Knowing how to deal with banks and hardship processes
  • Being able to see and feel progress
  • Support that encourages without removing responsibility

Nothing on the market is trying to change a habit

The tools people already use are good at exactly one slice each. None of them owns the sentence that matters: this was your plan, this changed, here is the new plan, and here is what we do differently next month.

Budgeting apps categorise the past. YNAB genuinely changes spending behaviour and costs USD 109 a year to do it, but it is a budgeting system with debt inside it rather than a route out. Cleo will talk to you and produce a paydown plan for USD 5.99 a month, and it is the closest thing to a competitor, which is why an AI that gives you a debt plan is not a strategy. Debt Payoff Planner and Undebt.it draw the date beautifully for two dollars a month or ten dollars a year, and then leave you alone with it. Spreadsheets are free, flexible, and stop being true the first month you go off plan.

The alternative that actually works is a human coach. One person in the research paid about USD 3,000 for six sessions and said the accountability was ninety percent of the value. That is the shape of the opportunity and the shape of the problem: it works because someone is in the loop with you, and it does not scale.

So the target is not calculation, and it is not education. It is behaviour: a new spending habit, a saving habit that survives a good month, and a plan that gets adapted instead of abandoned. Everything in the product exists to serve that, and the dashboard is instrumentation for it rather than the point of it.

  • YNAB

    USD 109 / year

    A whole budgeting method, and it genuinely changes spending

    Debt is a category inside a budget, not a route out of one

  • Cleo, Debt Reset

    USD 5.99 / month

    Conversational AI, spending data, a paydown plan

    No memory of your plan across months, no adaptation when the month breaks

  • Debt Payoff Planner

    About USD 2 / month

    Snowball, avalanche, a payoff schedule and a date

    Draws the date, then leaves you alone with it

  • Undebt.it

    Free, or USD 12 / year

    A capable manual payoff planner with several methods

    You maintain it, and nothing happens when you stop

  • A spreadsheet

    Free

    Anything you can model, exactly how you want it

    Stops being true the first month you go off plan

  • A human coach

    About USD 3,000 for six sessions, in one researched case

    Context, accountability, and real behaviour change

    Priced out of reach of the person who needs it, and it does not scale

Never use a financial product to solve a behavioural problem, and never use a behavioural lecture to solve an insolvency problem.

I built a synthetic user panel of promoters and detractors, and interviewed all five

Before I could reach real customers I wrote five personas and ran a full interview with each: two who should love this, two who are sceptical, and one who should refuse to buy it. The point was not applause. It was to hear, in one place, why someone would pay for this and why someone would not touch it.

Zayd was the most useful. He knows what avalanche means, has built the spreadsheet twice, and abandons it the month reality diverges from it. His objection is the one the whole business has to answer: why is this not just ChatGPT plus Excel. Omar gave me the sentence I now use to explain the product, that the debt cycle is like dieting, austerity then relief then relapse. Leena showed why the mathematically optimal plan is often the personally unsustainable one. And Maya, who is organised and fine, said the quiet part out loud about my own positioning.

Building the panel with detractors in it is the reason it was useful. Five enthusiasts would have confirmed everything and changed nothing. This produced five buying objections and one clear non customer, which is a cheaper way to find them than shipping. None of it is evidence, and I do not treat it as any: a synthetic panel generates objections and hypotheses, and only real interviews can settle them.

Nobody on the panel wanted a forty minute scheduled call with an AI about their credit cards. That matched the research verdict on voice, and it is why sessions are ten, twenty or forty minutes at the person's choice, nothing is scheduled, and Ren is a room in the product rather than the product.

  • “I know exactly what I'm supposed to do. That's kind of the problem.”

    Zayd, 28, synthetic persona

  • “Once the spreadsheet is wrong, I kind of stop looking at it. Don't tell me I failed. Re-plan.”

    Zayd, 28, synthetic persona

  • “It's like dieting.”

    Omar, 37, on paying cards off and rebuilding them

  • “I don't want an app telling me I can't go see my family because that's financially optimal.”

    Leena, 30, who sends money home

  • “Positive psychology makes it sound less serious, not more serious.”

    Maya, 34, the persona I should not try to acquire

  • Aisha, 25

    Two years into her first serious salary, first cards and BNPL

    Pays what is due, occasionally panics and pays extra

    Low. Wants the debt free date, does not want to be talked to like a child

  • Zayd, 28

    Tech professional, two to three cards and a personal loan

    Built the tracker twice, abandoned it after a disrupted month

    Medium. Why is this not just ChatGPT plus Excel

  • Leena, 30

    Expat, sends money home, debt accumulated gradually

    Follows finance creators, drowning in conflicting advice

    Medium. Will it tell her not to fly home

  • Omar, 37

    Family, good salary, cards plus a car loan

    Has cleared the cards before and rebuilt the balance

    Medium to high. Do not teach him what a credit card is

  • Maya, 34

    Organised, automated, has a working system already

    Tracks it, automates it, runs her own scenarios

    High. She is the one who told me not to build it

What the panel changed

  • Adaptation joined the core loop: understand, plan, act, adapt, continue
  • Positive psychology moved out of the copy and into the method
  • Voice became situational, never scheduled, never the front door
  • Onboarding had to stop teaching APR to people with fifteen years of salary
  • Reflection had to be grounded in real financial events, not feelings

The coaching research, and how Ren was built out of it

I read the literature before writing a word of Ren's prompt, because financial coaching is a field where the marketing is far ahead of the evidence and I did not want to ship a motivational chatbot with a plant on it.

Three findings did the most work. The working alliance matters: a meta analysis across 27 samples and 3,563 coaching processes found the quality of the relationship moderately associated with outcomes, and with fewer unintended harms. Monitoring closes the loop: across 138 studies and 19,951 participants, interventions that increased progress monitoring improved goal attainment, more so when progress was recorded and reported back. And no branded framework wins: the evidence favours flexible integration of solution focused work, cognitive behavioural coping and strengths, not a proprietary model.

Positive psychology, read properly, is not compulsory optimism. A coach should be positive about human possibility rather than positive about every human experience, and prematurely reframing someone's fear about a 44% balance into gratitude is bad coaching. The evidence on financial coaching specifically is genuinely mixed: one randomised evaluation found improvements in money management, savings, debt and financial confidence, while a 2026 systematic review of eleven controlled studies found small effects, heavy heterogeneity and methodological weaknesses in ten of them. So the product describes itself as structured support for behaviour change, and never as a cure.

Those findings became rules in Ren's prompt rather than vibes. Ren asks permission before challenging, teaching or suggesting. Ren decomposes a global self judgment into a behaviour before agreeing with it. Ren reflects using the person's own words and their actual balances. Every session ends with one commitment the person believes they can keep, and every session opens by returning to the last one, kept or not, without a score.

  1. 01

    Understand

    Every balance, rate and minimum in one place

  2. 02

    Plan

    A payoff order and a date derived from real numbers

  3. 03

    Act

    One commitment for the month, chosen by the person

  4. 04

    Adapt

    The month broke, so the plan changes, not the person

  5. 05

    Continue

    Next session opens on the last commitment, kept or not

  6. 06

    Debt free

    The date arrives, and the habit outlasts it

A positive psychology coach should be positive about human possibility, not compulsively positive about every human experience.

The escape route, localised

The payoff engine is the easy part. The judgment is knowing which layer someone is on, because avalanche versus snowball is irrelevant while the balance is still growing.

At 39% to 44%, choosing snowball for the feeling over avalanche for the maths costs more here than in any American guide. So the product leans avalanche, and clears a trivial balance only where that releases a minimum payment or closes a card. This is the order Ren works down, before any payoff method matters.

  1. 01Stop creating new principal
  2. 02Separate a survival problem from a spending problem
  3. 03Protect a small anti relapse reserve
  4. 04Reduce the price of the debt
  5. 05Choose a payoff order the person will actually execute
  6. 06Free up cash flow
  7. 07Defend against relapse
  8. 08Rebuild reserves, then rebuild wealth

A balance transfer only works when all four hold

Reducing the price of the debt is the highest leverage step in this market and the least used. Miss one condition and it is a rearrangement.

  • A real rate cut, net of feesIncluding the 1.05% early settlement fee on a transferred balance, which the bank must disclose with a worked example
  • A schedule that clears before the promo endsOtherwise the revert rate lands on whatever is left
  • No new spending on either cardNew principal on the emptied card undoes the whole move
  • Controlled access to the emptied cardLimit cut, card frozen, or closed
  • The rights layer

    The counselling obligation here sits on the creditor, not a free charity. A genuinely useful right, attached to a genuine conflict of interest. Use it, knowing who the counsellor works for.

  • The riba layer

    User triggered by design, never a setting and never a default. The moment someone says avoiding interest matters to them, the plan moves fully into that frame. Ren describes what a contract does, and sends rulings to a scholar.

What Ren will not do

  • Issue a religious ruling, or declare a product permissible
  • Promise a debt free date it cannot derive from real balances
  • Give investment, tax or legal advice
  • Claim a travel ban outcome, since it turns on facts nobody can verify remotely
  • Describe UAE card interest as compounding on interest, which is prohibited here
  • Move money, or record transferred principal as progress

Qatar: the same habit at a third of the price

Sproutjar was researched in Dubai, where a card costs 39% to 44% a year. Doha is the second market, and the first thing the research had to do there was refuse to carry the UAE numbers across.

Every Qatar issuer I read publishes the same headline: 1% a month on a revolving balance, which the product shows as 12% a year. Doha Bank writes that the figure follows Qatar Central Bank guidelines, and I have left it at that rather than quote a directive I could not read in the original. The detail underneath is where the money is. Commercial Bank charges 2.25% a month, 27% a year, when your salary does not land at the bank. Cash advances run from day one at every issuer with a 3% to 4.5% fee on top. QIB, an Islamic bank, has no late fee at all: a late payment triggers a 2% commitment to charity, which is a different thing to explain to a person than a penalty. And a QIB minimum is 5% of the balance against Commercial Bank's 3%, so two people with the same debt have different floors.

What does not change is the behaviour. The plan still has to be built from the person's own salary, payday and obligations, the minimum is still a constraint rather than the ambition, a windfall still needs a rule decided before it lands, and a balance transfer still has to pass the same four tests. What changes is the arithmetic Ren speaks and the screen shows: the currency, the rate, the fee schedule, and which bank's official page the live retrieval is allowed to read. That switch already exists in the code, keyed on the person's country, and the table below is what it reads for Qatar.

  • QNB

    Retail tariff, credit cards

    Rate
    1% a month, 12% a year
    Minimum
    Not stated in the tariff
    Grace
    None on cash advances: interest runs from the transaction date until repaid in full
    Late
    0.25% a month; over limit QR 100
    Cash
    1% a month plus a 4% fee, minimum QR 10

    QNB tariff of charges, Qatar · read 2026-09-05

  • Commercial Bank

    Schedule of charges, all card packages, salary transfer customers

    Rate
    1% a month, 12% a year. Without salary transfer: 2.25% a month, 27% a year
    Minimum
    Classic product page: repay from 3% of the balance
    Grace
    Up to 45 days interest free on the Classic product page; the tariff counts a maximum of 15 grace days after the statement, none on cash advances or fund transfers
    Late
    0.25% or QAR 100, whichever is greater; over limit QAR 150 once 2% over
    Cash
    1% a month plus 4% (Diners) or 4.5% (Visa, Mastercard)

    Commercial Bank personal banking tariff of charges · read 2026-09-05

  • Doha Bank

    Charges for personal customers, all consumer credit cards

    Rate
    1% a month on all transactions, 12% a year, stated as per QCB guidelines
    Minimum
    Not stated on the charges page
    Grace
    Not stated on the charges page
    Late
    QR 100 per missed payment or 0.25%, whichever is higher; over limit QR 100
    Cash
    4.5% of the amount or QR 20, whichever is higher. Fast Cash instalments at 0.75% a month, 9% a year, over 6 or 12 months

    Doha Bank charges for personal customers · read 2026-09-05

  • QIB

    Visa Gold, Platinum, Infinite and Digital revolving cards, Islamic structure

    Rate
    1% profit a month on the unpaid balance, 12% a year
    Minimum
    5% of the balance
    Grace
    Up to 45 days when the statement is paid in full
    Late
    No late fee: a 2% charity commitment on the unpaid amount, sent to charity
    Cash
    3% withdrawal fee; listed as not applicable on the Digital card

    QIB Visa Platinum credit card, fees · read 2026-09-05

Read off each bank's own page or tariff on the date shown, not from a comparison site. Banks change these without notice; the figure in a live call comes from the same retrieval, with its own source and time.

Refuse to carry the UAE numbers across.

Why this is voice first, and not another chat window

A text agent answers questions. That is not the problem here. The problem is a person who already knows the answer and cannot keep doing it, and the thing that moves that is a relationship with something that talks back.

Three reasons voice earns its place. Saying a number out loud is a different act from typing it: people admit the real balance, the loan they left out of the spreadsheet, the month they hid, because speech is confession and a form is data entry. Tone carries what the text never sends, so when someone flattens out on the sentence about their family, Ren has a signal a chat box does not get and can slow down, ask, or drop the agenda for the one that matters. And voice has a personality: pace, warmth, the pauses. You do not build accountability with a text field, you build it with somebody who is expecting you.

Ren is an ElevenLabs conversational agent joined over WebRTC from the app, with a signed session minted server side so no key reaches the browser. The prompt is written from the coaching research, not from a persona sketch: permission before challenging, teaching or suggesting, reflection in the person's own words, one commitment at the end. Turn taking took as much work as the words, because the default failure of a voice agent is interrupting somebody who is thinking; the silence timeout is long, and Ren never asks whether you are still there. Seven server tools point at this app's own API routes, so mid call Ren can read live balances, run the payoff plan, log a commitment, capture a belief and file an offer.

I designed around the honest limits rather than through them. The research verdict on voice as a modality is unsupported, and no persona wanted a forty minute scheduled call, so the person picks the length and the agenda before the call, nothing is scheduled, quiet mode lets someone whisper on a Metro platform and read the reply on screen, and every number Ren says is also on screen behind it. If a real cohort tells me voice is dead weight, the journey survives without it: Ren can also be typed to, in the same room with the same memory, and before anyone's first call a one-time card says what Ren does and does not do.

  • The Ren tab: a call orb, twenty minutes, intent pills reading clarity, a decision, a plan, space to think, and a quiet mode option.

    The person sets the contract before the call: how long, and what would make it worth it. Quiet mode sits next to it.

How I actually worked: research, brief, PRD, flows, then build

The order was deliberate and it is the part I would defend in a review. Research fed a positioning brief, the brief fed a PRD of forty two numbered features, the PRD fed the user flows, and only then did anything get built.

The brief came first because it decides what the product is allowed to be, down to the language that is banned rather than discouraged. Success criteria in the PRD are written behaviourally so they can be failed: read ten of Ren's lines aloud and none should sound like an assistant.

  1. 01

    Research

    Skeptical advisor prompt, sources kept in separate buckets

  2. 02

    Brief

    Who it is for, the method, the legal posture, the banned language

  3. 03

    PRD

    42 numbered features, unhappy paths weighted the same

  4. 04

    Flows

    Onboarding, session, post call, relapse

  5. 05

    Build

    Live balances, seven server tools, a working call

42
Numbered features, unhappy paths weighted like the happy ones
4
User flows mapped before a screen was drawn
0
Streaks, badges, points, feeds, text chatbot

Banned outright, not discouraged

  • guaranteed outcomes
  • guaranteed feelings
  • scientifically proven
  • crush your debt
  • debt free in 6 months
  • you failed
  • Flow 01Onboarding

    Opens on what the money is for. The first exchange may not ask for a number.

  • Flow 02The session

    A contract before a conversation: length, intent, and an agenda proposed from what changed.

  • Flow 03Post call

    The commitment is written in the person's own words and filed, or the app says nothing landed.

  • Flow 04The month that broke

    No red, no restart. A re plan, and the next session opens on the last commitment.

Do not compete on conversation. Compete on continuity.

Corrections carried into the build

  • Compound interest ban treated as upcoming, already live under UAE law
  • Cheque law dated to January 2022, in force January 2023, different instrument
  • Card rate cited at 44.28%, currently 42%
  • Travel ban reassurance, withdrawn, Ren makes no claim here
  • “Withhold validation to avoid premature interpretation”, wrong, affirmation is core to the method

The build, and the plumbing that makes it a product

Next.js and TypeScript, Convex for live persistence, ElevenLabs over WebRTC for the call, seven server tools wired to this app's own API routes.

That plumbing is the difference between a voice demo and a product. When Ren says the rent on your debt is one thousand three hundred and twenty eight dirhams this month, the number came out of the same database the screen is reading, and the payoff engine behind it runs month by month amortisation over every card at its own rate.

The demo I judge it on is the balance transfer. Mid call I asked Ren what to do about the Emirates NBD card. It read the live balance and the 3.69% monthly rate out of Convex through its debt snapshot tool, worked the transfer against the fee and the promotional window, said the annual figure out loud rather than the monthly one, and proposed it. The offer appeared as a card in the call and filed itself on the Plan screen, unapplied, because Ren cannot move money and will not record transferred principal as progress. The person confirms it after their bank has actually done it. A coach that acts on a mishearing is worse than no coach.

That offer is now checked live. Context.dev is wired server side: Ren's tool searches the web for the bank's own pages, reads the published terms off the official page with fact checking on, and returns the promotional rate, the window, the revert rate and the fees with the source URL and the retrieval time attached. The key sits on our server, never in ElevenLabs and never in the browser. When retrieval fails, Ren says so in the call rather than reading the dated table out as this morning's rate.

A second audit, run against the research rather than the screens, changed the shape of the month. The plan now runs on a monthly amount derived from the person's own salary, payday, essentials, obligations, money sent home and known lumps, with their own figure allowed to override it and the screen saying which is in use. Payday brings a review in four numbers: debt at the start of the month, new borrowing, principal repaid, interest burned, with what each card received and one reflection in the person's words, and the date recomputes from that. Cards carry a due day, a statement day, a minimum and a type, BNPL included, and a statement can be pasted in when memory is not enough. Every rate is shown as the simple twelve times the monthly figure, because that is the only annual number a Gulf bank's own paperwork supports. And the four tabs read Today, Ren, Plan, You, in the person's words rather than mine.

  • Today, then called Home: the plant in its jar, a debt-free date of June 2027, left to pay, paid off, and the monthly interest labelled rent on the debt.

    Today, then called Home. The plant, the date, and the interest named as rent, the number nobody quotes you when you take the card.

  • Plan, then called Growth: a clearing and building toggle, three cards with balances, monthly and annual rates, interest this month, and amounts paid off.

    Plan, then called Growth. Every card at its own rate, what it costs this month, and what has already gone. One card marked Start here.

  • You, an earlier build: Layla, weeks in, paid off, what the money is for, something that already worked, and beliefs said out loud.

    You. Their reason, their own past success, the beliefs they have said out loud, and now the numbers Ren works from, all in their words and editable.

I stress tested the UX with a full Gemini 3 Pro audit, to improve the flows

I recorded a screen capture of the whole journey, onboarding through a call and out the other side, and ran it through a full UX audit with Gemini 3 Pro. The point was to find the seams in the flows while they were still cheap to fix.

The prompt mattered more than the model. It removed every escape route: a senior designer with no interest in soft feedback, scoring the journey holistically rather than screen by screen, explicitly told to disagree with me and to delete any observation that could apply to any SaaS product. Generic advice was the failure mode I was guarding against.

It uncovered four things I had not seen. The commitment loop was broken, so the one promise the whole method rests on could be made and never returned to. Momentum died at the end of a call, where the product went quiet at the moment the person was most ready to act. Two screens were quietly competing to be the same screen. And some numbers on the dashboard claimed more than they had earned. The decisions below are what I did about each, including the ones where I disagreed and kept my version.

“A brilliant debt-recovery narrative held back by a broken commitment loop.”
Its one line verdict. 65.2 / 100 composite, across five UI and UX dimensions.

What it said, in its own pages

Brand system scored 92 and was called world-class adherence to the guidelines. Action state and feedback scored 44 and was marked critical. That gap is the whole finding: the product looked like itself and did not close its own loop.

These are pages from the audit report itself, not user testing. One expert model reviewing one recorded journey, and its redesigns are proposals, not measured outcomes.

Three audit cards. The genius: culturally grounded framing. The breaking point: the post-session drop-off. The number one fix: a unified commitment loop.
The audit's own summary. What worked, what broke, and the single fix it argued for.
Scorecard: information architecture 54, financial data density 62, brand system 92 strong, action state management 44 critical, mobile ergonomics 66.
Five dimensions scored. The brand scored highest, the behaviour loop lowest, which is the uncomfortable version of the result.
The audit's prescribed post-call debrief sheet next to its notes: the handshake is missing from the application entirely.
The missing screen, drawn. A thirty second debrief that turns what was agreed out loud into the commitment on Home.
The audit's redesign of the debt clearing screen with avalanche target badges and explicit actions, beside the friction it found in the shipped version.
Growth, rebuilt by the auditor: bold balance, the monthly cost as a badge, and 'Take it off' replaced by actions that say what they do.

Five findings, and what happened to each

  1. When a call ends, nothing is captured. Home goes back to “Nothing here yet” for someone eleven weeks and six sessions in.

    The audit. Named the breaking point of the product: the agreement reached out loud never becomes state, so the burden falls back on the person's memory.

    What I did. Built the ending. A call now finishes with the commitment written, or the person's own words with an editable commitment offered, or an honest nothing landed today. Home holds it until it is done or adapted.

  2. Home and Ren were the same screen: two tabs, one dark card, one Call Ren button.

    The audit. Information architecture scored 54. Two tabs doing one job collapses the map of the app.

    What I did. Home became the overview with a doorway. Ren became the coaching room and the archive, with intent pills that set the contract before the call starts.

  3. 'Take it off' on a debt card. Does it mean paid, deleted, or excluded from the plan?

    The audit. Flagged as dangerous ambiguity on the one screen where a wrong tap loses history.

    What I did. Explicit actions, and settled cards leave the payoff order for a cleared list instead of being deleted.

  4. The You tab counted follow-through as four out of six, and the timeline headline read “what your talks have moved”.

    The audit. Called both out: the count reads as punitive to a user whose main risk is shame, and the headline claims the coach caused what the person's own money did.

    What I did. The count is gone. The line now says cleared while coaching with Ren, across six conversations, which is the most it can honestly say.

  5. Manual +100, +250 and +500 buttons on the savings side.

    The audit. Called an arcade ledger that contradicts the product's own promise to end spreadsheet maintenance.

    What I did. Kept, and I disagree with the fix. Milestone tiers without bank connections would be a nicer looking way to be wrong about someone's balance. The tap is honest until there is real account data behind it.

Twelve decisions, and what each one cost

Every one of these had a cheaper answer available. The cheaper answer is written down next to it.

  1. A call ends and nobody committed to anything.

    Chose. Three different endings: a logged commitment, a summary of what the person said with an editable commitment offered, or an honest “nothing landed today, here is what to pick up next time”.

    Instead of. Infer a commitment from the transcript so the screen looks productive.

    A commitment the person never made is a lie the product then holds them to. The third ending had to exist for the other two to mean anything.

  2. Today and Ren had become the same screen.

    Chose. Today is the overview with one doorway; Ren is a coaching room with its own archive, agenda pills and intent pills that set the contract before the call.

    Instead of. Keep the big call button on both and call it consistency.

    Two tabs that do the same thing teach people that one of them is decoration.

  3. What does the chart claim?

    Chose. “Cleared while coaching with Ren, across six conversations.”

    Instead of. “Your progress.”

    The line falls because someone paid it down, not because they installed an app. The wording had to stop short of claiming the app caused it.

  4. Plan still said “start here” on a card the person had already settled.

    Chose. Zero-balance cards are excluded from payoff ordering and move to a cleared list.

    Instead of. Leave it; it is technically the smallest balance.

    Found by a browser agent walking the flow after the build. It was pointing someone at a finished job while the real one waited.

  5. The You tab counted how often someone followed through.

    Chose. Deleted the stat.

    Instead of. Keep it and colour it green when it is high.

    A follow-through percentage is a shame instrument with a progress bar on it. The session list already shows what happened, per session, without a score.

  6. How does the plant grow?

    Chose. Cleared principal grows the stem. Each conversation adds one root. Nothing ever shrinks.

    Instead of. Grow it on activity, or wilt it when someone goes quiet.

    A slow month still has to show something true, and a plant that dies while you are unemployed is the product taking a side against you.

  7. Ren finds a balance transfer worth taking.

    Chose. Ren proposes, the offer appears as a card in the call and files itself on Plan with the bank's published terms, the source and the time it was read, and the person applies it only after their bank has executed it.

    Instead of. Let the tool move the balance when the person says yes on the call.

    Voice mishears. Money must not move on a mishearing, and transferred principal is not progress: the engine records it at zero cleared.

  8. Someone says avoiding interest matters to them religiously.

    Chose. The whole plan moves into that frame from that moment, and never before it.

    Instead of. A setting, or a market segment, or a default for the region.

    The coaching evidence is explicit that values work only when the values are the person's own. Ren describes what a contract does and sends rulings to a scholar.

  9. What happens when the debt reaches zero?

    Chose. Plan shows the horizon before it arrives: the same monthly amount fills the reserve first, then the jars, each with a date, and nothing is recorded as moved until the person says so.

    Instead of. Congratulate and go quiet.

    The research is explicit that people slip back. The strongest retention argument and the strongest user argument happen to be the same one, and Ren still recommends no investment product, fund or allocation.

  10. Someone is in public and cannot talk.

    Chose. Quiet mode: whisper in, Ren replies in text on screen.

    Instead of. Tell them to come back later, or ship a chatbot.

    Voice being situational was a research finding. This is the accommodation, not a second product.

  11. How much of the session does the person see afterwards?

    Chose. Session cards expand to show what they came for, how long it ran, their own closing words and their own commitment.

    Instead of. Show Ren's summary of the session.

    Reading back a machine's interpretation of your own hard conversation is a small violence. Their words, or nothing.

  12. Red for debt?

    Chose. Root brown for the cost of debt. Red never represents the person's money.

    Instead of. The convention every finance app uses.

    Red is an alarm. Nothing in a person's own balance is an emergency they need to be alarmed about at 11pm.

  13. Which numbers are allowed to be estimates?

    Chose. Any estimated figure carries an “Estimated” chip, everywhere it appears.

    Instead of. Round it and move on.

    The product's whole claim is that it works from real numbers. One unmarked guess costs more credibility than ten marked ones.

Then I sent an agent through it to break it

A browser agent walked the whole journey (onboarding, a real call, a commitment, settling a card) while I watched what it did rather than what I expected it to do. It found four things. Three are fixed. The fourth I cannot honestly close.

Growth pointed at a card that was already settled
Zero-balance cards are excluded from payoff ordering and listed as cleared.
The first call could sit on “Connecting…” after the audio had already started
Live state is derived from the SDK's own connection and transcript evidence rather than a hopeful flag.
Transcript turns concatenated and repeated themselves as Ren spoke
Progressive updates replace the turn in place instead of appending another copy of it.
Quiet mode's audio muting could not be measured on a virtual machine
Still unverified. It needs a person with headphones, and I am not claiming it works.

The build history, as a record of decisions

Nothing landed on the main branch without a pull request explaining why it was the right call. I am not linking the source here, since the interesting part is the reasoning rather than the code, so this is the process as it happened.

  • The repository's pull request list, showing successive merged pull requests for the app, the brand system, the audit fixes and the case study.

    Every change arrived as a pull request, so the history reads as a record of decisions rather than a pile of commits.

  • A pull request description setting out what changed and the reasoning behind each decision, including the balance transfer logic and what was left untested.

    The reasoning is written down, including the rule that Ren proposes a balance transfer rather than editing the ledger, and an explicit list of what was not tested in a real call.

  • A list of commit messages describing product decisions, such as giving Ren its own call room and stopping the chart claiming credit for the payoff.

    Commit messages are written as decisions rather than tasks, so the history says why the product changed. Roughly forty of them across four days.

The animation came first, and everything else was derived from it

Before the palette existed there was a jar with a plant in it, growing in spurts, tipping its own lid off. Every colour, easing curve and duration in the product was pulled out of that file: the stem green, the root brown that stands for the cost of debt, the amber that appears only at a breakthrough, the spring the plant uses when it settles.

The rules that came out of it are the reason the interface holds together. Money is always tabular. Estimates always carry a chip. The call orb is the only gradient permitted anywhere. And the plant never wilts, a design rule that is really a product promise, because a product that visibly punishes you for a bad month is one you delete during a bad month.

Four jars showing the plant at day one, month one, month three and cleared, with a note that roots keep growing on slow months.

The design system, and the ten rules it enforces

Ten tokens, one typeface for reading and one for the wordmark, and a set of rules written so that a colour cannot be used to make somebody feel worse about their own money.

  • Cream

    #F2EDE4

    Canvas

  • Card

    #FDFCF8

    Surfaces

  • Ink 900

    #141D19

    Text, call view

  • Stem 700

    #2F6243

    Principal cleared

  • Stem

    #5FA877

    Growth, the plant

  • Leaf 300

    #92D3A3

    Leaves, mood

  • Soil

    #B98F63

    The jar

  • Root

    #7A6248

    The cost of debt

  • Amber

    #E8A94B

    Breakthroughs only

  • Danger

    #B4453A

    Destructive actions, never money

Type, and the two jobs it does

Space Grotesk. The wordmark, and nothing else in the product.

You are thirty two weeks in, and June 2027 just moved closer.

Nunito, for everything a person reads. Rounder, warmer, and legible at the size a heading actually appears on a phone.

AED 39,100.00

Tabular numerals everywhere money appears, so columns do not dance while a balance updates.

How a number is allowed to be written

  • 3.69% monthly3.69% / month · 44.28% / year

    The monthly quote is the single biggest comprehension failure in this market.

  • -14900AED 14,900.00

    No negative money, no minus signs on a person's own balance, always tabular.

  • Interest chargedRent on the debt

    Interest is an abstraction. Rent is a thing people already understand paying for nothing.

  • Debt free in 21 monthsJune 2027 · Estimated

    A month someone can picture, marked as a projection rather than a promise.

The ten rules

  1. 1Red never describes the user's money. Interest is root brown, cleared principal is stem green.
  2. 2Amber is for breakthroughs, not for warnings and not for decoration.
  3. 3The orb is the only gradient in the product.
  4. 4Every money figure uses tabular numerals so columns do not dance as they update.
  5. 5Space Grotesk is the wordmark only. Everything a person reads is Nunito.
  6. 6The plant never wilts, never shrinks and never loses a leaf.
  7. 7The stem grows on principal cleared. Roots grow on work: weeks, sessions, kept commitments.
  8. 8The jar never changes, because the container is not the achievement.
  9. 9Every estimate carries an Estimated chip, everywhere it appears.
  10. 10Every session states its length, its agenda and why it is worth having.

Copy that is banned, not discouraged

  • Crush your debt
  • Take control
  • Keep your streak alive
  • Never feel stressed about money again
  • Scientifically proven
  • Submit

Two reasons. UAE advertising rules do not allow a financial product to promise an outcome, and the coaching literature is clear that a promise you cannot keep costs you the relationship the method depends on.

Five hypotheses to validate with real user research

This is what the synthetic panel is actually for: turning objections into claims specific enough to test. Each one is written with the question I would ask in a real interview, before showing anybody the product, so the answer comes from customers rather than from me.

  1. H1

    People carrying manageable debt do not know their realistic debt free date, and would value seeing decisions move it.

    Ask what month they will be completely debt free. Before showing them anything.

  2. H2

    Plans get abandoned because life made the plan inaccurate, not because motivation ran out.

    Ask about the last repayment plan they stopped following, and what happened that month.

  3. H3

    A real segment already knows what to do and cannot execute consistently.

    Ask what stops them doing the thing they already know they should do.

  4. H4

    Positive psychology is valuable as method and weak as positioning.

    Two descriptions, one naming the psychology and one naming the benefit. Measure which one gets a reply.

  5. H5

    Voice is situational, wanted at decisions and setbacks rather than on a schedule.

    Ask when they would talk rather than type, not whether they would like voice coaching.

What this does not prove

The most useful thing I can put in front of a hiring manager is the list of things I have not earned the right to claim.

  • No real users. Nobody outside this project has used it, and the balances on screen belong to a seeded demo profile.
  • The five personas are synthetic. They generate hypotheses; they cannot validate anything, and any price they name is fiction.
  • Willingness to pay is untested, in a market where the good alternatives run from free to about fifteen dollars a month.
  • Market size is unverified. Public UAE data does not expose revolving card distress by age, income or card count.
  • Coaching efficacy for debt payoff specifically is not established: one randomised evaluation supports financial coaching, a 2026 systematic review calls the evidence base too weak to conclude.
  • Quiet mode's audio muting could not be measured on the machine I tested on. It needs a human ear before I would claim it works.
  • Live retrieval reads what a bank publishes on its own page, which is not the same as the rate that bank would approve for one person. The offer is a proposal until their bank confirms it.

What I would do with a real week: five interviews with people carrying card balances in Dubai, testing the two claims the whole product rests on: that seeing a date move changes behaviour, and that being asked what happened is worth paying for.

Where it stands

This is a work in progress, and the next step is the craft

Everything on this page runs, on a real database, with real calls. It was also built fast, and it shows in the places speed always shows. So the next step is not a new feature.

  1. 01

    An Impeccable design pass

    The product works and it is not finished. Next is a full craft pass over every surface: type scale and rhythm, the plant at every state, empty and error states, motion timing, the call view on a small phone, and the details that building fast swallowed.

  2. 02

    Auditing the UX again, then with people

    The last audit scored the brand at 92 and the action loop at 44. The loop has been rebuilt, so it gets re audited, and then the same journey goes in front of real people in Dubai carrying real balances.

  3. 03

    The twelve questions

    A real customer interview guide that never pitches Ren until the end, built to kill H1 to H5 rather than collect encouragement. That is the next piece of work that could change the product, and none of it exists yet.