Skip to content
tk
All work

Personal project2026

MyCards

A local-first mobile wallet for loyalty cards that opens the right card automatically when you walk into the shop.

Type
Personal project
Role
Solo — product, design and mobile development
Period
2026 · in progress
ads, accounts or servers
0
CZ / SK / EU brands built in
~55
automated tests
134

The idea

Standing at a checkout, scrolling through a dozen loyalty cards, is a small but daily annoyance. MyCards shows the right card before you ask for it: open the app near a shop and the matching card is already on screen.

Principles

  • No ads, no accounts, no backend. All data lives on the device.
  • Private by design — locations are stored only with your cards, on your phone.
  • Sync without an account — silent iCloud sync on iOS; Android Auto Backup plus manual export/import.

How it works

  • Adding a card starts by picking from ~55 CZ/SK/EU brands (or a custom card). The barcode can be scanned with the camera, read from a photo or typed in — and the barcode format is derived automatically.
  • Locations — from a card you can save “I’m at this shop now”. Nearby duplicates are merged.
  • On launch the app compares your position with saved locations using great-circle distance and a configurable radius (25 / 50 / 100 m). Exactly one match opens that card full-screen with brightness boosted; otherwise you get a list ranked by usage.

Engineering

Written in strict TypeScript on Expo with Expo Router. The card schema has already gone through a v1 → v2 migration without losing data, covered by 134 tests, with type-checking, linting, formatting and tests enforced on every commit.

Keep reading

Next project

Or browse all work

Creditas Digital Factory2025 – 2026

Creditas Internet Banking

Refactoring, accessibility and perceived-performance work on a 100K+ line internet banking app — cutting defects by 56%.

  • React
  • TypeScript
  • Tailwind CSS
  • Orval
  • +5