Referral & Bonus Tracking

Referral Status System

Referral Status System

product design

interaction design

product strategy

Overview

Redesigned an underperforming referral program by reframing a delayed, conditional reward as a trackable lifecycle, pitching and iterating the concept with stakeholders, validating it through bilingual moderated testing, and shipping a phased rollout across three environments.

Tools

Figma, FigJam, Linear.app, Miro, pen and paper

Duration

~5 months

Outcomes at a glance

From hidden reward logic to visible progress

Turned referral from a copy-link action into a trackable reward lifecycle with visible states, progress, conditions, next steps.

From static page to dashboard

Designed the referral experience across web, mobile web, and app, including dashboard states, invite logic, bonus tracking, and inline conditions.

From unclear bonus ownership to explicit status

Made it visible who was invited, where each friend stands in the twelve-month earning period, and what still needs to happen before a bonus is paid.

From feature concept to shipped product

Scoped a live first version that delivered the core visibility layer while keeping nudge and advocate mechanics separate until backend, legal, and business questions were resolved.

From assumptions to tested refinements

Used moderated comprehension testing to confirm the lifecycle concept and simplify the areas that created friction: tab labels, payout states, sharing, and metric-card context.

From business risk to product rules

Translated stakeholder concerns into product constraints, including clearer tooltip logic and anti-spam safeguards for future reminder nudges.

Context

The referral program rewards existing users for bringing in new cashback users. The reward is conditional: a referred friend must collect 20 EUR in confirmed cashback within twelve months before either side receives the bonus.

Internal analytics and CRM feedback pointed to underperformance, but exact figures are confidential.

Challenge

The referral invite link already worked. The problem started after sharing.

Users had no way to see who had joined, whether cashback was progressing, who triggered a bonus, or when a referral would expire. Referred friends lacked guidance, while referrers contacted support to understand states the product itself did not explain.

This was not a visual refresh. It was a status, trust, and incentive-system problem.

Objective

Make a delayed, conditional reward understandable and worth acting on across twelve months, coherently across web, mobile web, and app, in a form engineering could ship without rebuilding what already worked.

Role

I owned product design and acted as interim Product Owner until February 2026, after which PO responsibilities were handed back while design and implementation support continued.

This covered the audit, problem framing, stakeholder pitching and alignment, process design, visual design from paper sketch to high fidelity, user research planning and moderation, iteration on findings, and implementation handoff.

Referral & Bonus Tracking

Process

product design

interaction design

product strategy

Overview

The work followed a clear causal chain: audit the legacy program and its support reality, map the journeys, turn journey insights into user stories and then flows, pitch and iterate the concept with stakeholders, design high fidelity, test it, and ship in a deliberate phased sequence. Each step produced the input for the next.

Referral & Bonus Tracking

Process

product design

interaction design

product strategy

Overview

The work followed a clear causal chain: audit the legacy program and its support reality, map the journeys, turn journey insights into user stories and then flows, pitch and iterate the concept with stakeholders, design high fidelity, test it, and ship in a deliberate phased sequence. Each step produced the input for the next.

Understand

Auditing the Legacy Program

Purpose

Before proposing anything, understand what was actually failing and why, from evidence rather than assumption.

Approach

I audited the legacy referral page and journey and combined it with support insight into the questions users were actually asking.

The pattern was consistent: confusion about status, uncertainty about whether anything was progressing, and contact with support to fill the gap the product left.

I modeled these findings into two journey maps, one for the referrer and one for the referred friend. This shifted the problem from a broad performance issue to specific breakdowns in trust, visibility, motivation, and status clarity.

Mapping the lifecycle

Referring is not a single action, it is a shared journey a user moves through over time:

Invite → Accept → Earn → Motivate → Earn → Unlock Rewards Together

Support insight and the legacy audit, modeled into two journey maps.

The journey maps located the specific failure points: link suspicion, unclear conditions, no visibility after sharing, and a twelve-month silence with nothing to hold onto.

Simplified versions are shown.

Insight

The solution could not be another invite page. It needed to make the year-long referral lifecycle observable.

After sharing, users had no evidence of who joined, who was progressing, what still needed to happen, or when a referral would expire. The twelve-month delay turned the reward into a black box.

Define

From Journey Pains to User Stories to Flows

Purpose

Translate the journey map insights into a concrete definition of what each user needs the system to do.

Approach

The journey-map informed the creation of user stories across three roles: Visitors, Referrers, and Referred Friends.

Each story addressed a specific insight from the maps to be translated into user flows:

The Share flow with leave-intent handling, the dashboard flow with reminder and cool-down logic, and the two referred-friend flows through landing, sign-up, and bonus received.

As a user preparing to invite someone,
I want to clearly understand my bonus and the conditions,
so that I can confidently share the referral.

As a user encountering an error, I want to be informed about the system state so that I do not become confused or lose trust in the extension.

As a referrer,
I want to keep a record of all my invitations and their status,
so that I can track which bonuses are earned, pending, or expired.

As a user encountering an error, I want to be informed about the system state so that I do not become confused or lose trust in the extension.

As a loyal customer and referrer,
I want to see how many successful referrals I made in total,
so that I can stay motivated and keep inviting.

As a user encountering an error, I want to be informed about the system state so that I do not become confused or lose trust in the extension.

As a referred friend,
I want to know who invites me to what and why,
so that I can trust and understand the invitation.

As a user encountering an error, I want to be informed about the system state so that I do not become confused or lose trust in the extension.

As a referred friend following the invitation,
I want to track my progress toward unlocking the referral bonus,
so that I stay motivated and can meet the conditions in time.

As a user encountering an error, I want to be informed about the system state so that I do not become confused or lose trust in the extension.

User Flows

Share flow showing decision points for user and system.

Flow to complete the task of receiving a bonus.

Result

The user stories and flows translated the journey maps into concrete product behavior.
The system needed to:

  • preserve a visible record of every invitation

  • show friend's status, e.g.: registration, progress, success

  • explain the bonus conditions before the user shares

  • trackable 20 EUR threshold and twelve-month deadline

  • support reminders without creating spam pressure

  • give referred friends enough context to trust the invitation

This created the shared model for design, product, and engineering:
referral was no longer a single share action, but a set of states, decisions, and system responses that had to remain understandable across touchpoints.

Ideate

Iterating the Concept

Purpose

Build stakeholder alignment on direction before committing to high-fidelity design.

Approach

With the flows defining the required system behavior, I sketched the dashboard backbone: progress summary, bonus states, friend table, and entry-point placement.

I used the sketches to align stakeholders before high fidelity. The review confirmed the direction and surfaced two business-critical requirements: tooltips had to reduce support ambiguity, and reminder nudges needed safeguards against misuse.

I folded both into the concept before moving into detailed screens.

Rapid structering

The dashboard structure was established within the first concept sessions.

Sketched dashboard structure showing progress bar, summary metrics, and a friend table with end date, progress, and bonus columns, including the decision renaming the entry point to "Bonus & Friends.

Result

The sketch review confirmed the dashboard direction, but also surfaced two business-critical requirements before high fidelity: tooltips had to reduce support ambiguity, and the nudge mechanic needed safeguards against misuse.

I folded both into the concept before moving into detailed screens.

Decision

Pitch in low fidelity and iterate on business-risk feedback before investing in high fidelity.

Trade-off

An extra pitch-and-revision loop in exchange for stakeholder alignment and de-risked direction before expensive detail work.

Output

An iterated dashboard concept with stakeholder go-ahead, tooltip clarity and nudge safety addressed up front.

Design

High Fidelity, and a Mechanic That Emerged

Purpose

Turn the agreed concept into high-fidelity mockups that engineering could implement swiftly, is ready for testing and open for iterations.

Approach

I designed directly in high fidelity.

A deliberate choice, since the required patterns already existed in the live product, so working with them avoided designing something new that would force developers into more effort than reusing what was already in production.

The revision was not about reinventing the interface.
It was about making the program easier to understand, more actionable for users, more valuable for the business, and easier for engineering to implement and maintain.

Advocate tier mechanic

While building the mockups, two user stories revealed a gap:

As a referrer,
I want to be informed when a referred friend completes the conditions,
so that I feel rewarded, successful, and encouraged to invite more friends.

As a user encountering an error, I want to be informed about the system state so that I do not become confused or lose trust in the extension.

As a referred friend,
I want to track my progress toward unlocking the referral bonus,
so that I stay motivated and can meet the conditions in time.

As a user encountering an error, I want to be informed about the system state so that I do not become confused or lose trust in the extension.

Their tension produced the advocate tier :

A progress-based mechanic that gives high-intent referrers a reason to keep going across the twelve-month earning period, instead of letting the relationship go silent after the invite.

High-fidelity mockups

The reviewed dashboard with summary metrics, history tab, progress tab and advocate section ready for user testing.

Result

Decision

Design in high fidelity using existing live patterns; let the advocate tier emerge from the user stories rather than forcing a motivation feature.

Trade-off

Less visual novelty in exchange for direct implementability and a motivation mechanic grounded in motivational user needs.

Output

Test-ready high-fidelity mockups, including the advocate tier, with a go-ahead to test.

Validate

What Users Understood, and What Changed

Purpose

Validate the lifecycle concept and identify friction before handoff.

Approach

I conducted and analyzed a moderated comprehension test with six platform users across German and English sessions, using think-aloud and semi-structured interview prompts.

The design was directionally validated.
Page purpose, the primary invite action, the in-progress-to-earned transition, the nudge mechanic, and the advocate tier were all understood, and no major trust concerns surfaced in the test.

However, the test also surfaced friction points that led to changes.

Results and iteration

Finding

Tab naming ambiguous; 4 of 6 expected the wrong tab

Share flow felt too complex; 4 of 6 expected the invite action to copy a link directly

"Partial Payout" read correctly in cashback context but not referral context

Top metric cards lacked context; 1 of 6 clear without scrolling

Design decision

Renamed to "Earned bonuses / Active bonuses"; reclassified buttons for affordance

Renamed to "Earned bonuses / Active bonuses"; reclassified buttons for affordance

Cut editable message flow; kept personalized link + generic referrer message

Added tooltip microcopy with explicit definitions to each card

Comparison of changes before (left) and after test (right).

Result

The test confirmed the core direction: users understood the referral lifecycle, the primary invite action, the bonus progression, the nudge mechanic, and the advocate tier.

The remaining issues were not conceptual; they were about wording, hierarchy, and interaction load.

Refinements from testing

Tabs

History / Progress

→ Earned bonuses / Active bonuses

States

cashback payout labels

→ specific referral states

Sharing

editable message flow

→ personalized link + generic referrer message

Metrics

unclear summary cards

→ improved labels + tooltip definitions

The test confirmed the direction and helped make the design clearer, lighter, and more specific to the referral context.

Deliver

Handoff, and a Phased Live Rollout

Purpose

Finish design for mobile and app. Prepare and present handoff to align management and engineering before supporting implementation.

Approach

At handoff, the full concept was aligned, but two mechanics were not yet ready to ship: the advocate tier needed business validation, and the nudge mechanic required backend and legal work.

To avoid blocking the release, I proposed a first-release version focused on the core user value: referral visibility.

This version kept the dashboard, inline conditions, friend progress, and bonus states, while deferring the mechanics that still depended on business, backend, and terms-and-conditions decisions.

Results and iteration

The shippable version is a deliberate reduction proposed at handoff, single table, no tabs, no advocate tier, conditions inline, shipped live so value lands while the in-question mechanics are resolved separately.

Before

Static link-copy page

No status or progress visibility

Conditions buried, encountered too late

Buried sidebar entry point

One generic environment treatment

No motivation across the earning period

Single undefined release

After

Three-state referral lifecycle dashboard

Defined states with badges, microcopy, progress bar

Conditions inline, directly above the invite action

Surfaced as "Bonus & Friends" in the user profile

Coherent web, mobile web, and app, now live

Advocate tier and nudge mechanic with anti-spam safeguard

Full design handed off; first-release version shipped live

Result

A static, status-blind invite page is now a live referral lifecycle. Users can see who they invited, where each friend is in the twelve-month earning period, and what to do next.

The full version, including the advocate tier and the full nudge mechanic, continues in backend and legal work.

Decision

Propose and design a shippable live version at handoff, deferring the functions still under business and engineering review.

Trade-off

Fewer features in the first live version in exchange for value shipping now and the full design preserved intact.

Output

Full design handed off; core version live across web, mobile web, and app as of May 2026.

Learning

Discovery needs sequence

The value was not in any single artifact. The audit, journey maps, user stories, and flows built a shared model of the problem before interface work began. Without that sequence, the redesign could not have improved, leaving the lifecycle invisible.

Stakeholder alignment shaped the product

The sketch review surfaced business risks early: tooltip clarity, support ambiguity, and reminder misuse. Addressing those before high fidelity made the design more shippable.

Mechanics should emerge from user needs

The advocate tier worked because it answered a specific gap: keeping referrers motivated across a twelve-month delay. It was not added as gamification decoration.

Shipping is part of design

The full concept was preserved, but the live release focused on the core visibility layer. Deferring unresolved mechanics allowed the product to ship without turning the roadmap into a blocker.

Let’s talk.

Burkhard Kalytta avatar

Prefer a quick conversation? We can align on expectations, product context, and whether there is a good fit.

15 minutes