Inspiration

Bank apps drown you in tables; Spotify Wrapped makes data feel personal and fun. We asked: what if your money had a highlight reel you’d actually want to share?

What it does

Turns raw banking data into a story-style Wrapped: ten playful insight cards (Top Categories, Top Merchants, Biggest Flex, Late-Night, No-Spend Streak, Collab Pair, Anomaly, Q1→Q4 Trend, Persona, plus a one-line Summary) and a simple daily dashboard.

How we built it

Data: Capital One Nessie (demo) → MongoDB via Mongoose. Backend: Next.js API routes (TypeScript). Insight engine computes card metrics (category shares, time windows, pairing within 90 min, streaks, z-scores). Frontend (MVP visuals): Next.js + Tailwind + shadcn/ui + Framer Motion; Recharts for quick charts. DX: Stepwise backend (plumbing → each card), fixture-driven tests, caching for repeat periods.

Challenges we ran into

Normalizing inconsistent transaction shapes (deposits vs purchases vs withdrawals). Correctly excluding transfers and duplicates. Timezone + “late night” windows across months. Robust recurring detection & merchant pairing without overfitting. Keeping insights fun yet privacy-respectful.

Accomplishments that we're proud of

End-to-end flow from ingestion → insights → shareable “Wrapped.” Fast, reusable insight functions with clean output contracts. A deck that feels delightful (not preachy) while still being actionable. Smooth demo mode with seeded data that always tells a compelling story.

What we learned

Storytelling > spreadsheets for financial behavior change. Define contracts first; implement cards independently to move fast in parallel. Small heuristics (90-min merchant pairs, no-spend streaks) create outsized “wow” moments. Guardrails on privacy and tone matter as much as charts.

What's next for Wallet Wrapped

Integrations: Multi-bank support (Plaid), investments, credit score. Smarter insights: ML-assisted categorization, cohort benchmarks, goal recommendations. Social & share: One-tap poster/Story export, private leaderboards. Monetization: Premium insights, coaching referrals, FI partnerships. Trust: Hardening auth, data-minimization, and user-controlled sharing.

Built With

  • csv
  • framer-motion
  • javascript-frontend:-next.js-(app-router)
  • languages:-typescript
  • mongoose-apis-&-ingestion:-capital-one-nessie-api-(demo-data)
  • node.js-data-&-storage:-mongodb
  • react
  • recharts-backend:-next.js-api-routes-(rest)
  • shadcn/ui
  • tailwind-css
Share this project:

Updates