Mozilla Firefox

Firefox Recap:
Turning seasonal churn into a reactivation moment.

Designing a year-end experience that helps users feel a sense of belonging, not just utility.

Role

Product & Creative Designer

Timeline

Sept 24 - May 25

Team

4 Designers (Product, Visual, Motion), 3 PMs & Mentors

Team

4 Designers (Product, Visual, Motion), 3 PMs & Mentors

Firefox loses 3-5% of its Monthly Active Users annually during Q4-Q1 (roughly 4.2M-7 M users) when people get new devices and default to the pre-installed browsers.

Many users switch to Chrome, Edge, or Safari because they are pre-installed on Android, Windows, or iOS/macOS, respectively. This convenience makes it hard for Firefox to gain or maintain market share, with many users simply accepting the default browser.

Problem

This pattern repeats every holiday season.

New devices → default browsers → silent drop in active users.

Solution

Firefox Recap, a celebratory year end recap of users' browsing, belonging with utility.

Impact

87% user satisfaction in early studies.

Impact

87% user satisfaction in early studies.

Leadership asked:
"Could a year-end experience like Spotify Wrapped, reactivate dormant users and drive re-engagement during this critical window?"

  • 3-5% of 141M users = 4.2M - 7M users at risk annually.

  • Once users switch to a default browser, the re-acquisition cost is high.

  • Hypothesis: A memorable year-end moment could give people a reason to return.

The Paradox of Everything. Browsing ≠ music. It's news, research, shopping, entertainment, everything. And Firefox users chose us for privacy.

Introducing
Firefox Recap

Firefox Recap is a year-end experience that celebrates users' browsing journeys—similar to Spotify Wrapped, but for your browser. It turns browsing behavior (tabs opened, languages explored, peak usage months) into a personal, shareable story that reminds users of their relationship with Firefox.

Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap • Firefox Recap •
Main subject
  • Card image
  • Card image
  • Card image
  • Card image

The Approach:
Will users smile, feel seen, and want to share this? 🤩

Year-end experiences don't follow a standard product design process. There's no user problem to solve, no task to optimize, no friction to remove. Instead, this required continuous experimentation focused on one question: How does this make people feel?

  1. What makes Year In Reviews Click?



  1. What makes Year In Reviews Click?

  1. What makes Year In Reviews Click?

Analyzed 18 year-end campaigns across industries (Spotify Wrapped, Duolingo Year in Review, Strava Year in Sport) to identify patterns in what makes these experiences shareable vs. forgettable.

Why look outside browsing? Year-end campaigns aren't a standard product feature. No playbook exists for "recapping" something as multifaceted as web browsing. I needed to understand the underlying mechanics of what makes people want to share their data.

Key insight:
Year-end experiences work when they help users see themselves in a new, flattering light, not when they hold up an uncomfortable mirror.

  1. The Privacy Constraint







  1. The Privacy Constraint

  1. The Privacy Constraint

Unlike Spotify (knows every song), Firefox telemetry is aggregated and anonymized.

What We Couldn't Say:
- "You visited Reddit 847 times" (too specific, embarrassing)
- "Your most-visited site was..." (privacy violation)
- "You spent 47 hours on social media" (judgmental)

What We Could Say:
- "You opened 2,847 tabs this year" (general, relatable)
- "You explored 12 languages" (celebrates curiosity)
- "March was your busiest month" (neutral pattern)

Design Decision #1:
Patterns Over Content

Chose:
Celebrate "how you browsed" (12 languages explored) over "what you browsed" (47 AI articles).

Trade-off:
Less personalized but more universally shareable and privacy-safe.

Chose:

  1. The Copywriting Pivot





  1. The Copywriting Pivot

  1. The Copywriting Pivot

Early Failure:

V1: "You opened 2,847 tabs this year".
User feedback: "Sounds like I'm disorganized. Not sharing this."

The Fix:
V2: "2,847 tabs opened. Each one a new adventure.
(Don't worry, we won't tell anyone about the 47 you still have open.)"
User feedback: "Now it feels like Firefox gets me. I'd share this."

Design Decision #2:
Playful Over Neutral

Chose:
Self-aware humor over factual reporting.

Trade-off:
Might feel too casual but transformed shame into a shared experience.

Chose:

  1. The 5-Beat Story Arc





  1. The 5-Beat Story Arc

  1. The 5-Beat Story Arc

Early explorations showed that without structure, data points felt random. Users didn't know what was important or where to focus. Developed narrative structure to transform data into an emotional journey:

  1. Welcome: "2024 was a year of discovery"

  2. Scale: "You opened 2,847 tabs" (wow moment)

  3. Diversity: "Across 12 languages, 40+ countries" (breadth)

  4. Peak Moment: "March was your busiest month" (pattern)

  5. Identity: "You're an explorer" (celebration)

Design Decision #3:
Linear Story Over Free Exploration

Chose:
Fixed narrative arc over letting users explore stats in any order. Users needed a guided emotional journey, beginning, climax, and satisfying end.

Trade-off:
Less user control, but more users saw the full story.

  1. Motion Design as Pacing Mechanism




  1. Motion Design as Pacing Mechanism

  1. Motion Design as Pacing Mechanism

The Problem:
Static prototypes, users skipped through in 8 seconds (didn't absorb the story).

Motion Direction defined:
Reveal pattern: Data "writes itself" on screen (typewriter effect).
Transitions: Vertical slides (like scrolling through memories).
Pacing: 3-sec holds per stat, 0.5-sec transitions.

Design Decision #3:
Timed Motion

Chose:
Force animated reveals over tap-through.

Trade-off:
Less agency but 3.5x engagement (8 sec → 28 sec).

Chose:

Sample Size

20 participants (Internal and External to Mozilla)

Testing Method

Users experienced prototypes uninterrupted, then shared how it made them feel, more useful than usability testing for an experience about delight, not tasks.

Impact

87% user satisfaction in early studies.

Next Steps

The testing validated the core concept for Firefox, but transforming it into a polished, launch-ready experience requires more design cycles.

Next Steps

The testing validated the core concept for Firefox, but

Sometimes the right design solution isn't about removing friction, it's about creating delight.

Do read this, if you have lil time for some roller coaster creative exploration.

rutikabangera8@gmail.com

Create a free website with Framer, the website builder loved by startups, designers and agencies.