Pablo Zarate
All projects

Kyloy

One wallet for every local loyalty card.

Client
My own product · consumer app
Role
Founder · Solo full-stack engineer
Year
2025 – 2026
Status
Live on App Store & Google Play
Home with points and QR button
Home with points and QR button
Rotating QR code shown at checkout
Rotating QR code shown at checkout
Rewards across businesses
Rewards across businesses
Nearby businesses
Nearby businesses
Welcome screen
Welcome screen
Profile and sessions
Profile and sessions
9
repos, one engineer
~315
API endpoints
233
end-to-end tests

The story

Local businesses in Mexico still run loyalty on paper cards that get lost, faked or forgotten. Kyloy gives customers one place for all of them: sign in with an SMS code, show a QR at the counter, and watch points and stamps add up across every business they visit.

Each business gets its own pass in Apple Wallet and Google Wallet, branded with its colours and stamp grid, and updated live from the server. Customers can also browse nearby businesses, read digital menus, order ahead for pickup and book appointments.

I designed and built the whole platform alone: database, NestJS API, AWS infrastructure, the consumer app, the merchant app, three web apps and the test tooling. The consumer app has its own web twin at app.kyloy.com with feature parity checked route by route.

Engineering highlights

01

Secure rotating QR

A signed, short-lived QR that refreshes on its own, so a screenshot of someone else’s code is useless at the counter. It only refreshes while it is on screen, to save battery and requests.

02

Live Wallet passes

Apple passes generated with passkit-generator and updated through the PassKit web service and APNs; Google Wallet through its API. Stamp strips are rendered server-side.

03

Credential hygiene

Session credentials live in the device’s secure storage, never in app state, and nothing sensitive ever reaches the logs.

04

Order ahead & booking

Menu, cart, nearest-branch selection with a distance warning, and 14-day appointment availability, all inside the app.

05

Safe OTA updates

Bundles are inspected for leaked dev URLs before publishing with EAS Update, and pinned to the native app version.

Next project
Kyloy Business
The point-of-sale side of Kyloy, built for a busy counter.