A membership app for Cyprus, from idea to app store
App · Web · Platform
One pass for hundreds of local perks: show your phone, slide to redeem, save. An iOS and Android app, a website in twelve languages and a back office for partners.
cyprusperks.com
Challenge
Discount apps run on vouchers, QR codes and fine print. For venues that means scanners and training, for guests it means friction at the till. The goal was a model that works at the counter in two seconds.
Move
A membership instead of vouchers. Every partner sets their own perk, members show a live pass and slide to redeem. Around it sits a travel guide with 505 places that lists the perks within 10 km of each one.
Result
A complete product from one team: an Expo app for iOS and Android, a Next.js website with a waitlist, a partner back office and a FastAPI API with Stripe payments. The store launch is close.
The case
Cyprus Perks is a membership for anyone who wants to get out and see Cyprus: 2-for-1 at the taverna, extra minutes on the jet ski, kids free on the boat trip. One pass works with every partner on the island.
We built the product from scratch: concept, design system, member app, website, partner back office and API. It all runs through one team and one codebase.
The job
Voucher apps ask venues for hardware at the till and ask guests for patience. Both cost the partners who are supposed to carry the model.
The aim was a flow that works at the counter without explanation and creates no work for partners: no scanner, no separate app, no training.
The solution
Members see every perk around them, sorted by distance and filtered by category. To redeem, they show the pass and slide. Staff see a live pass with a running clock, so a screenshot stands out.
The website doubles as a travel guide: 505 places with photos, guides and an island map. Under each place sit the partners within 10 km and their perk. That is the path from reading to membership.
Technology
Expo and React Native for the app, Next.js for the website and back office, FastAPI with Postgres as the single API, payments through Stripe. The team edits content in the back office and the website reads it live from the API.
Twelve languages come from one shared catalogue. New strings are translated automatically, and English and Greek are reviewed by native speakers.
How it runs
- 01Product model
A membership with an annual and a tourist pass. Partners choose their own perk, with no partner app and no scanner.
- 02Design system
One shared system for website, app and back office: warm colours, a single green accent, the same components everywhere.
- 03App and pass
An Expo app with Discover, Map and Pass. Members redeem with a slide, and staff see a live pass with a running clock.
- 04Content and languages
505 places with their own photos and guides, served in twelve languages including right-to-left Hebrew.
Product screens

Discover: nearby perks, sorted by distance 
Landing page with waitlist and store notice 
Perk detail with hours, distance and redeem button 
Redeemed: the live pass confirms the saving 
Island map with 505 places and guides 
Guides to six regions 
The website on a phone