Loyalty · Wallets

SemillappDigital coupons and loyalty with Apple and Google Wallet

Coupons and loyalty platform with Apple Wallet and Google Wallet passes, a GraphQL API and a React Native mobile app published on both stores.

Technologies

  • React Native
  • Expo
  • GraphQL
  • NestJS
  • Apple Wallet
  • Google Wallet
  • TypeScript
Screen from the Semillapp mobile app for digital coupons and loyalty

My role

Web & applications developer at Azirgo SAS. I worked on the React Native mobile app and the API behind it.

The problem

A loyalty programme only works if the customer has the coupon at hand at the moment of paying. A plastic card gets left at home, and a coupon buried inside yet another app gets lost among notifications.

What I built

  • React Native + Expo mobile app published for iOS and Android.
  • Apple Wallet and Google Wallet pass issuing, so the coupon sits next to the user's cards.
  • A GraphQL API as the platform's data layer.
  • Coupon and loyalty flows for the participating merchants.

Technical decisions

  • Lean on Apple Wallet and Google Wallet instead of requiring the user to open the app: the pass lives where they already keep their cards.
  • GraphQL so the app requests exactly the data each screen renders, without over-fetching on mobile connections.
  • A single React Native codebase for both stores.

Challenges

  • Apple Wallet and Google Wallet passes use different formats and signing rules, and both had to be generated correctly.
  • Keeping the wallet pass in sync with the real state of the coupon.
  • Shipping and maintaining the app on both stores.

Result

Semillapp is published on the App Stores and is one of the four production mobile apps in this portfolio: real users open it to redeem their coupons.

See it live

Need something like this?

Tell me what you're building and I'll come back with scope, stack and a realistic timeline.