CardMate app icon

Loyalty cards.
Without the plastic.

All your loyalty cards in one offline place. Scan once, show the barcode at checkout, done.

No account No ads Works offline

The problem

Loyalty apps fail right when you need them.

The exact moment you reach the checkout is the exact moment they break.

🔒

Logged out at the register

The retailer's app forgot who you are. Log in again while the queue builds behind you.

📶

No internet access

The app needs internet to show a barcode. You don't have it. Deal gone.

💳

Plastic left at home

Every store wants a different card. Your wallet weighs more than your phone.

How it works

Three seconds at any checkout.

Everything runs on your phone. No account, no ads, no network.

1

Scan the card once

Point the camera at the barcode. Or type the number manually if the plastic is faded. Pick an icon and a color so you spot it instantly later.

2

Open at checkout

Tap the card. The barcode fills the screen. Brightness turns up automatically so the scanner reads it on the first try, even in a bright store.

3

Done. Walk out with the deal.

No internet needed. No login screen. No "we couldn't verify your card." The barcode is the barcode.

What's inside

Everything the plastic card does. Nothing it doesn't.

Fully offline

Shows cards without any internet. The app does not need your WiFi, 5G, or anything else.

No account, ever

Install, add cards, use. No signup, no email, no "verify your phone number."

Zero ads

No ads at the free tier. No ads at the paid tier. Just your cards.

Scan or type

Scan the barcode with your camera, or type the number if the card is faded.

34 icons, 15 colors

Make each card recognizable at a glance. No more scrolling past 15 identical gray tiles.

Auto brightness

Opening a card jumps the screen to full brightness so the scanner reads it the first time.

Face ID lock

Keep your card list private. Only you unlock the app.

Home screen widget

Pin your most used card to the home screen. One tap, barcode on screen.

Optional iCloud backup

Reinstalling or switching iPhones? Flip the backup toggle. Nobody else sees the data.

6 languages

English, Polish, Italian, German, Dutch, Spanish. Auto picks the one your phone uses.

The story

Shipped in 2014. Rebuilt in 2026.

I shipped the first version of CardMate in 2014. Objective C, local SQLite, no backend, no account. The idea was simple: I was tired of my wallet bursting with plastic from CVS, Target, Starbucks, and a dozen more. So I built the thing I wanted to use myself.

For the next three years it ticked along at roughly 150 downloads a day. In the summer of 2017 something happened and downloads spiked briefly to a peak of 2,000 that month. I still have no idea what caused it. Then the baseline came back. By the end of that run the app had collected about 6,760 total downloads from users in the US, UK, and Spain.

In 2018 I walked away. Not because the app was broken. I got pulled into Agile coaching, building processes, training teams, consulting. The app sat untouched. For nearly 8 years it was dead code on the App Store, earning nothing, aging quietly as iOS evolved around it.

I came back in 2026 because I missed building useful things for actual people. The old Objective C code is still in the archive folder, kept as a reference. The architecture choices from 2014 held up surprisingly well (offline first, no backend, no account). The implementation needed a full rewrite to meet 2026 expectations.

Current stack: Expo SDK 57 + React Native, local SQLite, optional iCloud backup, Face ID lock, Adapty for the paywall, StoreKit 2, home screen widget, alternate app icons, dark mode. UI localized in six languages.

Pricing

Free. Or $6.99 once.

No subscription. Ever.

Free

$0

For most people this is enough.

  • Up to 3 loyalty cards
  • Scan or type barcodes
  • 34 icons, 15 colors
  • Fully offline, no account
  • Auto brightness at checkout

Ready to ditch the plastic?

Free download. 3 cards on the house. Decide later if you want the rest.

iOS 16.4 or later iPhone only ~15 MB