Industry first & Axis Bank's Year in review

Product design

How We Built Banking's First 'Wrapped' in 1 Month — And Spent 3 Years Making It Better

Hand holding phone with saving goal app interface. Financial planning concept.

Context

The original ask was a straightforward year-in-review: recap the products a user held with the bank over the past year — similar in spirit to Spotify Wrapped, but for banking activity.

The problem we found: Most users only had 1-2 products with the bank. A recap built purely around "here's what you did with your products" would end up feeling thin and repetitive for the majority of users — a bad experience for something meant to feel celebratory and shareable.

The pivot: Instead of shrinking the scope to match what users had, we expanded the concept:

  • For products users didn't have, we showed generic/social-proof stats instead of leaving a gap — e.g. "Did you know X crore users booked an FD with us?"

  • Introduced a badges system — unlocked badges for products the user held, locked/disabled badges for the ones they didn't

  • Ended the flow with a full badge collection screen (locked + unlocked together)

  • Turned locked badges into a cross-sell mechanic — explicitly showing users how to "unlock" them (i.e., explore/get that product)

Origin of the idea: The original product ask was simpler — just give each product a fun name (e.g. "Transaction Titan"). We built on this and introduced the full badges + collection + cross-sell system.

Role: Led the project from product design's end — owned the UX/flow decisions and the badges concept, and collaborated with the Illustration & Motion team for visual/animation execution.

Problem

A products-only recap would be too thin for most users (majority held only 1-2 products), risking a flat, unremarkable experience for something meant to feel special. The challenge was to make the experience feel complete and engaging for every user, regardless of how many products they held — while still serving a business cross-sell goal.

Constraints

  • Phase 1 (2023): Just 1 month to conceive and ship the entire experience — tight enough that scope had to be ruthlessly prioritized, especially since this was the first attempt at this format in the industry (no internal precedent to borrow from).

  • Phase 2 (2024): ~2 months TAT per visual given the more complex, connected illustration style — a big jump in production time per asset compared to Phase 1.

  • Across phases: needed close collaboration with Illustration & Motion team for execution — design decisions had to account for what was feasible to illustrate/animate at scale across many product types.

  • Data/compliance constraint (Phase 2): Proposed adding more specific, delightful data points (e.g. "Did you know Hyderabad had the highest number of FDs?"), but this never got run past compliance because the underlying dataset wasn't available to the team to begin with — a good example of an idea getting stopped by data availability before it even reached a policy conversation.

Process

This project shipped in three phases over three years, each pushing the format further.

Phase 1 — 2023: Proving the concept Built and shipped in 1 month, as the first experience of its kind in the banking industry. Established the core mechanics that carried through later phases:

  1. Dashboard entry point — surfaced contextually, so users opt into the experience rather than being interrupted.

  2. Welcome screen ("A trip down the Memory Lane") — set the tone with bold typography and a clear date range.

  3. Per-product story screens — personality-driven titles and standout numbers (e.g. "Transaction Titan — ₹2,00,000 total transactions" "Maximum was done under Shopping category).

  4. Badges system — introduced unlocked badges for products held, and locked/disabled badges for products not held. Users with no products in a given category still saw general, socially-proven data instead of a gap (e.g. "Did you know X crore users booked an FD with us?").

  5. Cross-sell via "unearned" badges — locked badges doubled as product discovery, nudging users toward products they didn't yet hold.

Phase 1 reached ~75 lakh views.

Phase 2 — 2024: A better story Evolved the visual language from standalone illustrations to a connected narrative — a single visual metaphor (a car on an actual road trip) carried across the experience, rather than disconnected per-product graphics. This required a longer ~2-month TAT per visual, given the added complexity of keeping a consistent visual thread across screens.

Phase 2 reached ~1.5 crore+ views — a significant jump from Phase 1.

Phase 3 — 2025: Performance and interactivity Migrated the animation format from JSON (Lottie) to Rive, which brought two major gains:

  • Performance: reduced file size and load time by roughly 40-55% on average.

  • Interactivity: moved beyond static placeholders with background animation, to genuinely interactive animations where dynamic user data animates within the file itself — not just layered on top of it.

Fun technical detail worth mentioning if asked about the migration: Rive has a "Glyphs used" export setting — restricting a font to only the glyphs actually used in the file — which alone brought one file down from 800kb to 13kb. Small setting, disproportionate impact.

Phase 3's Year in Review generated ₹6 crore+ in revenue from cross-sell shown to users, within just the 1-month window the experience was live.

Key Decisions & Trade-offs

1. Turning a data gap into a mechanic (Phase 1) Rather than scaling back the experience for users with fewer products, we used the gap itself — showing generic-but-relevant stats for products the user didn't hold, converting "we don't have your data" into "here's what you're missing out on."

2. Badges as the connective structure (Phase 1) Went beyond the original ask (name each product) to build a full badges system — unlocked/locked states gave the whole recap a collectible, game-like structure that naturally leads toward the cross-sell screen at the end.

3. Investing in a connected visual narrative despite longer TAT (Phase 2) Chose a more expensive production process (2-month TAT per visual, connected storytelling) over faster, disconnected illustrations.

4. Choosing not to force a data point that wasn't ready (Phase 2) The Hyderabad FD stat idea was shelved rather than pushed through without a proper dataset or compliance review — a good instinct to flag: exciting ideas still need to be backed by real, available, compliant data before they ship.

5. Migrating to Rive for both performance and interactivity (Phase 3) The switch from JSON/Lottie to Rive wasn't just a performance optimization — it unlocked a new capability (dynamic data animating live within the file) that wasn't possible before. Worth naming both benefits explicitly, since performance alone would undersell the decision.

Outcome

This project has a genuinely rare thing for a portfolio piece: real, escalating numbers across three years.

Phase

Year

Key metric

Phase 1

2023

~75 lakh views (industry-first launch, built in 1 month)

Phase 2

2024

~1.5 crore+ views (connected visual narrative)

Phase 3

2025

₹6 crore+ revenue from cross-sell, in a 1-month live window (plus 40-55% avg. reduction in file size/load time from the Rive migration)

Beyond the numbers: this was the industry's first year-in-review experience for a bank, and it's been iterated on for three consecutive years — itself a signal that it kept earning its place in the roadmap.

Reflection

This project taught me how to turn a data limitation (most users holding just 1-2 products) into a mechanic that actually served the business goal — instead of shrinking the experience, we expanded it into something gamified and cross-sell-friendly. Watching it scale from a 1-month, 75-lakh-view MVP to a ₹6 crore-revenue-generating experience over three years was also a good lesson in how much a format can grow when you keep iterating instead of treating "shipped" as "done."

If I were to push further, I'd want more personalization in the stat screens themselves — even for products users don't hold, there's likely a way to make the "did you know" stats feel less generic and more tailored to that user's behavior/profile, rather than a flat statistic shown to everyone. The shelved Hyderabad FD stat in Phase 2 is a good example — the idea was right, the data infrastructure just wasn't there yet