MMoneyUnwrapped
How it works

A recap video, built entirely in your browser.

MoneyUnwrapped has no backend. From the moment you pick a PDF to the final rendered reel, every step runs locally on your device.

The pipeline

01

You pick a PDF

Your Google Pay statement is selected from your device. The file handle stays in the browser — the upload control never posts it anywhere.

02

Text extraction (pdf.js)

Mozilla's pdf.js reads the PDF inside a Web Worker and pulls out the raw text of every page. Runs fully in the tab.

03

Parsing → transactions

A regex-based parser walks the text, splitting it into individual transactions: date, time, payee, amount, direction, and the funding account printed on each line.

04

Analytics → your story

Pure functions aggregate the transactions into totals, top people, an account split, time-of-day patterns, a money personality, and more.

05

Render (Remotion Player)

That data drives a Remotion composition — a sequence of animated scenes — rendered live in the browser as a 60-second vertical reel.

How your money personality is decided

The recap ends by naming your spending archetype. There's no AI and no guesswork — just a handful of transparent rules checked in order. The first one that matches wins, so the list below runs top to bottom.

1
The Tap-Tap Champion8 or more payments per active day

Your thumb deserves its own bank account.

2
The Points Hunter50%+ of spend on a credit card

Why pay with cash when rewards exist?

3
The Chai Economist60%+ of payments are under ₹100

Tiny payments, mighty habit — a few rupees at a time.

4
The Midnight Spender30%+ of activity between 9 PM and 4 AM

The best deals happen after dark, apparently.

5
The Loyal Regular40%+ of spend goes to one favourite payee

You found your people and you pay them. Often.

6
The Balanced BallerEveryone else — no single trait dominates

A little here, a little there. Smooth operator.

Why no server?

Bank statements are sensitive. The simplest way to guarantee your data is safe is to never transmit it. Because the whole pipeline is client-side, there is no database to breach, no logs to leak, and nothing for us to see. Privacy isn't a policy here — it's the architecture.

The stack

Next.js + React
App shell, routing, UI
pdf.js
In-browser PDF text extraction
Remotion
Programmatic video, played client-side
Tailwind CSS
Styling + the light/dark theme
Zod
Schema for the video's input props
TypeScript
End-to-end type safety

Last updated · 29 June 2026