Case study · Product

Paper loyalty cards are a classic example of a system that works — until you lose it.

While digital loyalty apps exist, many small cafés still rely on paper punch cards — especially in neighborhoods where repeat customers are the lifeblood of the business.

Inspired by walking through San Francisco with a fan of half-punched cards in my wallet, I set out to explore whether Apple Wallet could replace them without asking anyone to download another app.

My role
Product Engineer
What I did

Customer Discovery

PassKit Development

UX Design

Prototyping

Timeline
3 weeks · Spring Break 2025
Coffee loyalty card in Apple Wallet with stamp progress
Version 1
StreakIT pass stacked in Apple Wallet
Version 2
Person holding a fan of paper loyalty punch cards from multiple cafés

How might we move loyalty off paper without asking customers to download another app?

Problem

We aren't designing for the person holding the card.

Loyalty punch cards are handled by baristas, store owners, and customers — each with different needs, making it especially hard to know what to prioritize.

Store owners and baristas see punch cards every day. They know exactly where to stamp and how many punches until a free drink.

Customers, on the other hand, lose cards, forget them at home, and often have no idea how many punches they have left until they are already at the counter.

Numbered paper punch card with tiered rewards held in a park
See's Candies Happy Habit Rewards 2024 paper loyalty card
Barista holding a coffee loyalty punch card behind the counter

Competitive Landscape

Snackpass solves loyalty for owners.StreakIT tried to solve it for customers.

Several shops I visited in San Francisco already used Snackpass — an all-in-one POS and branded app that bundles loyalty, online ordering, and SMS marketing. It is built for the business: owners get customer data, repeat-order analytics, and automated campaigns. Customers download the Snackpass app to earn points, order ahead, and send rewards to friends.

StreakIT took the opposite bet. Instead of replacing a shop’s entire checkout stack, I wanted loyalty to live in Apple Wallet — already on the customer’s phone, with no new app to install.

How they compare

Customer onboarding

Snackpass

Download app, create account, find the shop

StreakIT

Scan QR at checkout → pass added to Wallet

Value for owners

Snackpass

POS, CRM, SMS marketing, and loyalty analytics in one platform

StreakIT

Digital punch card only — no customer database or campaigns

Switching cost

Snackpass

High — migrate POS, retrain staff, rebuild ordering flow

StreakIT

Lower for customers; still high for owners at the register

Multi-shop loyalty

Snackpass

Branded app per shop or Snackpass network

StreakIT

Each pass stacks independently in Apple Wallet

Snackpass proved that digital loyalty works when owners commit to the full platform. StreakIT asked whether the customer experience could be lighter — and learned the bottleneck was never the pass design.

Apple Wallet showing existing coffee shop loyalty cards from Starstruck, Café Grumpy, GRIND, and others
What customers already carry — one app (or pass) per shop

Research

40+ conversations over coffee — and across language barriers.

To understand why paper punch cards persist and whether Wallet could replace them, I interviewed 40+ customers and small business owners across San Francisco — ranging from regulars who visit the same café daily to owners running checkout themselves.

Some conversations happened across language barriers and required Google Translate. Most happened over coffee.

Research Findings

Paper, still the default

Nearly every café I visited had some variation of a paper punch card — cheap to print, but impossible to track once a customer walks out the door.

Customers want zero friction

The single most important thing to customers was not downloading another app. Apple Wallet — already on their phone — was the only channel that felt effortless enough to actually use.

Businesses bear the switching cost

Store owners liked the idea in theory, but adoption meant learning a new system, training staff, and changing checkout behavior — a cost many were not ready to absorb.

Personas

Meet the two sides of the punch card

I was starting to see how differently owners and customers experience the same piece of cardboard. I created two personas to represent those perspectives — and revisited them throughout prototyping to make sure design decisions were making direct impact.

Regular Rita

Rita visits a different café most mornings and juggles loyalty cards from each one.

Pain point

She has lost punch cards mid-streak and never knows her count until a barista flips the card over.

Needs

She needs her punch count visible at a glance — without opening another app.

Owner Omar

Omar runs a single-location café and stamps cards himself at the register.

Pain point

He has no idea who his repeat customers are or whether his loyalty program is actually driving retention.

Needs

He needs a system that fits his existing checkout flow — not one that slows down the morning rush.

Restructuring the flow

Giving Rita her punch count back through design.

To help customers like Rita find what they need without friction, I narrowed the loyalty experience to only what matters at each step — and mapped what information is needed when.

I sketched a typical customer journey from walking into a café to earning a punch, based on the assumption that a barista could update the pass with a single scan at checkout.

1

Digitize existing punch cards

Businesses submit their logo, reward details, and number of punches. A digital Apple Wallet pass is automatically generated.

2

Generate a store QR code

Customers scan a QR code displayed at checkout. The loyalty card is added directly to Apple Wallet — no app download required.

3

Track progress digitally

Each purchase updates the customer’s Wallet pass, replacing paper punches with a digital experience.

Customer journey

  1. 1.Customer enters store
  2. 2.Scans business QR code
  3. 3.Loyalty card is added to Apple Wallet
  4. 4.Purchase is made
  5. 5.Wallet card updates with new punch count

Building the Demo

From PassKit files to a working punch card in Wallet.

To test feasibility, I built custom Apple Wallet passes (.pkpass), dynamic loyalty card designs, a QR-code onboarding flow, and a Wallet-based punch card experience.

One challenge was learning how Apple Wallet passes are structured and customizing pass assets to mimic traditional punch card layouts.

Version 1

Translating the punch card metaphor

Many users liked seeing familiar stamp grids in Wallet, but the layout felt cramped on smaller passes. I rebuilt the stamp assets as custom PassKit images to mimic a traditional punch card layout.

Coffee loyalty card in Apple Wallet with stamp progress

Version 2

Designing for the Wallet stack

Customers told me they wanted StreakIT passes to sit naturally alongside payment cards — not feel like a separate app experience. I refined the pass hierarchy so shop name, punch count, and reward status were scannable in the stack view.

StreakIT pass stacked in Apple Wallet
StreakIT storyboard pitch at Apple Store — problem, solution, outcome
Concept storyboard — pitching the problem before building
Urbana Cafe and Gallery loyalty pass showing 7 points
Pass detail — points & last updated

Final Design

After multiple rounds of testing and conversations, I reached a Wallet-native punch card.

Triple Rock Brewery loyalty pass on iPhone with QR code
Working prototype — QR onboarding & live stamps
Multiple StreakIT loyalty cards in Apple Wallet
Multi-shop wallet stack
Custom stamp grid assets for Wallet passes
PassKit stamp assets

What I Learned

The problem was real.The switching cost was higher than I expected.

StreakIT confirmed that customers want Wallet-native loyalty — but it also showed me that a product can solve a real problem and still fail because adoption costs outweigh the value created.

Validation

What 40+ conversations revealed

I did not run timed usability tests — but the pattern across interviews was consistent enough to treat as a signal.

Interviews completed

40+

Customers and small business owners across San Francisco

Preferred channel

Apple Wallet

The only digital option customers described as frictionless

Biggest blocker

Workflow change

Owners cited staff training and checkout disruption — not the idea itself

Next Steps

Talking to more store owners

Being able to separate design goals from operational feasibility is essential. It would be valuable to shadow checkout flows and ensure alignment with how staff actually work during a rush.

Testing a lighter onboarding path

Many owners hesitated at anything that required changing their existing punch card design. A flow that digitizes what they already have — logo, punch count, reward — might lower the barrier to trying it.

Reflections and Learnings

Focusing on the why, not the what

By focusing on customer and owner needs first — not the PassKit implementation — I learned that validating a market is often more important than building the solution itself.

Fall in love with the problem

The biggest lesson was not technical. StreakIT helped me develop a stronger appreciation for customer discovery and the gap between what users say they want and what they will actually change behavior for.