PaisaPersonality 💰 — Your AI Money Roast, In Your Language

🌟 Inspiration

It started with a chai break and a bank statement.

We were sitting around after month-end, staring at our UPI history, wondering how ₹50,000 just... vanished. Swiggy here, some random Amazon impulse buy there, a "totally necessary" shaadi shopping trip somewhere in between.

The problem wasn't the spending. The problem was nobody was talking about it in a way that felt real. Every personal finance app felt like a boring lecture from a CA uncle. Spreadsheets. Pie charts. Generic tips like "reduce discretionary spending."

We wanted the opposite. We wanted the financial equivalent of your most brutally honest friend — the one who looks at your transactions and says:

"Bhai, tera Swiggy kharcha dekh ke dil ro raha hai. 😂"

And then we thought — what if that friend spoke your language? Not just Hindi. Tanglish for Chennai. Tenglish for Hyderabad. Benglish for Kolkata. Kanglish for Bangalore. Chinglish for our Chinese friends.

That's how PaisaPersonality was born — a Spotify Wrapped for your wallet, roasted in 8 languages, powered by AI.


💡 What It Does

PaisaPersonality takes your last 30 transactions and reveals your hidden money personality through:

  • 🎭 1 of 12 Money Archetypes — Are you an FD Uncle, an Airport Flexer, or a Jugaad CFO?
  • 🕸️ Radar Chart — Scored across 6 money traits
  • 🔥 AI Roast — Savage, funny, culturally accurate feedback
  • 📊 Peer Benchmarks — How you compare to your city's average spender
  • 📤 Shareable Card — Like Spotify Wrapped, but for your wallet sins

🏗️ How We Built It

1. The Scoring Engine

The heart of the app is a keyword-based transaction scoring engine that reads raw transaction text and scores 6 personality traits in real time — no server needed, runs entirely in the browser.

Each transaction is scanned against a weighted keyword matrix:

$$ S_k = \sum_{i=1}^{n} w_{ki} \cdot \mathbf{1}[\text{keyword}_i \subseteq T] $$

Where \(S_k\) is the score for trait \(k\), \(w_{ki}\) is the weight of keyword \(i\) for that trait, and \(T\) is the transaction text. The archetype is then assigned by:

$$ \text{Archetype} = \arg\max_{j \in A} \left( \sum_{k=1}^{6} \alpha_{jk} \cdot S_k \right) $$

Where \(\alpha_{jk}\) is the affinity weight of archetype \(j\) for trait \(k\), and \(A\) is the set of all 12 archetypes.

Example keyword weights:

Transaction Trait Boosted Weight
Swiggy, Zomato, Blinkit FOMO Index +8
Zerodha, SIP, Groww Future Planning +10
Meesho, Amazon, Myntra Status Spending +6
Gold, FD, PPF, RD Risk Aversion +9
Crypto, WazirX, CoinDCX FOMO Index +10
Temple, Donation, Charity Family Pressure +7
美团, 拼多多, 淘宝 FOMO Index +8
理财, 基金, 股票 Future Planning +10

2. The 8-Language Code-Mix System

The most creative engineering challenge was building a language system that doesn't just translate — it code-mixes, exactly like how urban Indians and Chinese actually text each other.

The rule we defined:

UI structure = English always.
Personality, humor, roasts = code-mixed.

We built a translations object with flavor text for all 8 styles:

Picker Style Avatar Sample Roast Flavor
हिंदी Hinglish 👳 Bhai "Bhai, tera paisa jugaad pe chal raha hai"
தமிழ் Tanglish 👴 Thatha "Anna, panam scene romba complicated da"
తెలుగు Tenglish 👨 Anna "Bro, mee paisa ela pothundo chuddam"
বাংলা Benglish 👴 Dadu "Dadu, tomar taka ektu complicated hoyeche"
मराठी Martlish 👨 Kaka "Dada, tumcha paisa kaay aahe nakki"
ಕನ್ನಡ Kanglish 👨 Appa "Guru, ninna paisa nodona appa"
中文 Chinglish 🧓 老师 "Aiya, your 钱 go where one lah"
English Savage English 🧐 Sir "Your wallet called. It needs therapy."

3. The AI Roast Engine

We use Claude claude-sonnet-4-20250514 via the Anthropic API with a system prompt engineered to produce culturally sharp, code-mixed humor in exactly the right dialect. The prompt enforces:

  • Correct code-mixing vocabulary per language
  • 3-part structure: Roast → Blind Spot → Tip
  • Regional cultural references (chai tapri, shaadi, 奶茶, 红包)
  • Max 120 words — punchy, not preachy
  • Avatar-specific greeting to open every response

The full JSON contract returned by Claude:

Built With

Share this project:

Updates

Submission history