Nyntax Logo

Case Study

Get Them Back: Building Revisit, Loyalty Cards That Live in the Wallet

How we built a stamp-card platform for Bangladeshi cafés, salons and shops: a QR on the counter, a card in Apple or Google Wallet, and a merchant app fast enough for a busy till

Client
Revisit
Year
Service
Product Design, UI/UX Design, Full-Stack Development, Wallet Integration
Revisit case study cover

Executive Summary

Get them back: loyalty that lives where customers already look

Revisit gives cafés, salons and neighbourhood shops a digital stamp card that lives in Apple Wallet and Google Wallet. A customer scans a QR on the counter, joins with a name and number, and the card is on their phone. The merchant scans it on the next visit, a stamp lands in real time, and the reward is waiting when the card fills up. No customer app, no paper card to lose.

  • Started: September 28, 2026
  • Core Team: 2 specialists
  • Built by: Nyntax
  • Market: Bangladesh
  • Industry: Retail & Hospitality SaaS
  • Status: Live at revisit.cards

What We Brought to the Counter

  • Product Strategy
  • UX Writing
  • UI/UX Design
  • Motion Design
  • Full-Stack Development
  • Apple & Google Wallet Integration
  • Market Localisation
  • End-to-End Testing

Why Loyalty Cards Stop Working

Most first-time customers never come back, and the usual fixes, paper cards, apps and SMS blasts, all ask too much of someone. Revisit had to ask almost nothing of the customer and very little of the merchant.

  • Paper Cards Get Lost
    Stamp cards live in wallets, pockets and bins. Customers lose them, forget them, or never get a second stamp at all.
  • Nobody Wants Another App
    Asking a first-time customer to download an app at the till is where most loyalty programmes quietly die.
  • A Busy Counter
    Merchants serve a queue while they stamp. Anything that needs reading, typing or precision slows the line down.
  • Setup Fatigue
    Loyalty software tends to look like a marketing suite. A shop owner needs a working card in minutes, not a training session.
  • SMS Is Expensive and Slow
    Reaching customers by SMS means sender IDs, template approvals and a bill for every message.
  • Built for Somewhere Else
    The first draft spoke to a different market. Taka, local payment habits and neighbourhood names had to be designed in, not swapped in.
“A business owner can create a digital loyalty card in a couple of minutes, put a QR on their counter, and start rewarding returning customers immediately.”
The Revisit product north star

Project Overview

Revisit is three services working as one: a marketing site at revisit.cards, a merchant app for the counter, and an API that issues and updates wallet passes. The whole product is designed around a single loop: create a card, get customers in, stamp visits, and redeem rewards.

Revisit runs on written product rules: fewer screens, fewer fields, sensible defaults, and one clear way to finish every task. When two solutions both worked, we picked the one that asked the merchant and the customer to understand the fewest concepts.

Key Stakeholders

  • Primary Users: Café, salon and shop owners and their counter staff
  • Secondary Users: Customers who carry the card in Apple or Google Wallet
  • Platform Team: Admins who onboard merchants and keep the service healthy

Restraint, Engineered

The hard part was not adding features. It was making the few that matter feel instant, at a counter, with a queue.

1

One Loop, Nothing Else

Every screen had to serve the same loop: create a card, get customers in, stamp visits, redeem rewards. If a feature did not make that loop faster, it waited.

  • A Single Core Loop
  • One Card per Business
  • Rewards That Restart
  • Fewest Possible Clicks
2

A Card That Lives in the Wallet

Customers join from a QR with just a name and number. Google Wallet passes update the moment a stamp lands, and Apple Wallet gets a downloadable pass.

  • Join From a Counter QR
  • Apple & Google Wallet
  • Live Stamp Updates
  • Consent at Sign-Up
3

A Scanner Built for the Till

The scanner is the most important screen in the product. Scan the card, see the customer, add the stamp, done, with a name or phone search for when the camera will not cooperate.

  • Scan to Stamp
  • Name & Phone Search
  • Camera Fallbacks
  • Large Touch Targets
4

Nudges Without the SMS Bill

Wallet push replaces SMS for bringing customers back: a short note on the lock screen, drafted in English or Banglish, with sensible daily limits and an optional nudge when someone walks past the shop.

  • Wallet Push Campaigns
  • Lapsed-Customer Targeting
  • Location Reminders
  • Built-In Send Limits

Technology Behind the Card

A NestJS API issues and updates the wallet passes, a Next.js merchant app runs the counter, and a Next.js marketing site with a three.js hero tells the story.

Frontend & Experience

  • Next.js

    Next.js

  • TypeScript

    TypeScript

  • Tailwind CSS

    Tailwind CSS

  • Framer

    Motion

  • Three.js

    Three.js

Backend & Data

  • NestJS

    NestJS

  • PostgreSQL

    PostgreSQL

  • Drizzle

    Drizzle ORM

  • Redis

    Redis & BullMQ

  • Zod

    Zod

Wallets & Operations

  • Apple

    Apple Wallet

  • Google

    Google Wallet

  • Bun

    Bun

  • Sentry

    Sentry

Design System

One loud colour, Revisit Lime, against quiet paper and ink. Archivo sets the shouting headlines, Geist carries the marketing site, and Roboto keeps the merchant app plain and fast to read at a counter.

Color Palette

Brand Colors

#9AE600

Revisit Lime

Primary

The app mark, stamps, primary buttons and highlights

HEX: #9AE600
RGB: rgb(154, 230, 0)
#101D03

Brand Ink

On Lime

Glyphs and text placed on the lime

HEX: #101D03
RGB: rgb(16, 29, 3)
#F7F8EF

Paper

Surface

Tinted section bands on the marketing site

HEX: #F7F8EF
RGB: rgb(247, 248, 239)

Neutral Colors

#10130E

Ink

Dark Surface

Device frames, dark tiles and the closing call to action

HEX: #10130E
RGB: rgb(16, 19, 14)
#636363

Graphite

Text Secondary

Descriptions and supporting copy

HEX: #636363
RGB: rgb(99, 99, 99)
#E5E5E5

Neutral 200

Border

Card outlines and dividers

HEX: #E5E5E5
RGB: rgb(229, 229, 229)

Typography

Aa

Archivo

Display Headlines

TURN FIRST VISITS INTO REGULARS.

Aa

Geist

Marketing Site

One scan. One stamp. Real time.

Aa

Roboto

Merchant App

Scan a customer’s card to add a stamp or give a reward.

Revisit in Numbers

Most of the numbers that matter here are small on purpose.

  • 0

    Card types live: stamp, punch and points

  • 0

    Wallets supported, Apple and Google

  • 0

    Apps a customer has to install

  • 0

    End-to-end test suites across the merchant app and the site

  • 0

    Screens captured by the end-to-end runs

  • 0

    Commits in the first eight days, September 28 to October 5

  • 0

    Shop locations a merchant can register for lock-screen reminders

Counted from the Revisit codebase and product rules as of October 2026.

From Punchd to Revisit

The first draft was built under the working name Punchd for a different market, with Bengaluru neighbourhoods and a GST invoice. A day later it became Revisit, rebuilt for Bangladesh. Drag the slider to compare the first draft with the launch.

The launched Revisit landing page
Launch
The first draft of the landing page under the name Punchd
First draft

Project Screenshots

The marketing site, the merchant app and the customer’s side of the card. Click any image to view it full screen.

Revisit landing page with loyalty cards and a phone on a wireless stand

Landing Page

A Revisit stamp card inside the phone wallet

The Wallet Pass

Merchant dashboard with the scanner, the counter QR and the card preview

Merchant Dashboard

Card editor with business name, reward, visits needed and colour

Card Editor

Customer join form and the customer card with a QR to show at the counter

Join & Show at the Counter

Push composer with English and Banglish drafts

Push Composer

Campaigns, lock screen banners and location reminders

Nudges

Interactive analytics demo on the landing page

Analytics Demo

Comparison of SMS, WhatsApp and wallet push

Wallet Push vs SMS

Technological Innovations

One Tap, One Stamp

When the connection drops mid-tap, the cashier taps again. Every action carries a key that the app reuses for a double tap or a retry after an unclear failure. The server locks the customer’s card, spots a key it has already handled and returns the first result instead of stamping twice. A unique index in the database backs it up.

A Pass That Updates Itself

On Google Wallet the pass changes the moment a stamp lands, so the customer sees progress before they reach the door.

Scan, Stamp, Done

At the counter it is scan, confirm, stamp, with a search by name or phone for when the camera cannot read a card.

Push Instead of SMS

The wallet card is the channel, so reminders skip the paperwork and the per-message bill that SMS brings with it.

Graceful by Design

The 3D hero only runs where it can run well. Everyone else gets a still composition built from the real pass component.

Timeline & Roadmap

From the first loop to a rebranded, localised product with wallet passes, push and analytics, here is how Revisit came together, and the card types that come next.

The MVP Loop

The core loop built under the working name Punchd: create a card, let customers join, stamp visits and redeem rewards.

Rebrand to Revisit

A new name, mark and favicon, taka pricing for Bangladesh, and landing sections for wallet push and location reminders.

A Headline From Broken Glass

The hero headline now assembles itself from flying shards, beside a WebGL phone and loyalty card.

Analytics for Merchants

New customers, stamps given, rewards redeemed and who came back, over 7, 30 and 90 days.

Revisit Everywhere

Punchd renamed to Revisit across the codebase, and admin tools added for the platform team.

Planned Card Types

  • Cashback
  • Prepaid wallet
  • Tiered VIP
  • Subscription
  • Points + Tier

Conclusion

Revisit works because it refuses to be a loyalty platform. It is a card, a QR and a scanner, designed so a shop owner can be rewarding regulars the same afternoon they sign up, and so a customer never has to install anything to be one.

Building it taught us to treat restraint as a feature. Every screen answers to one loop, the wallet does the work an app would have done, and the parts that look effortless, from the shattered headline to the stamp landing on a lock screen, are where most of the engineering went.

Key Success Factors

  • A single product loop that every feature has to serve
  • Wallet passes instead of a customer app
  • A scanner designed for a busy counter
  • Localising for Bangladesh, not just translating
  • End-to-end tests with screenshots of each flow

More case studies

From Register Books to One Screen: Building ClassTablet for Bangladesh's Classrooms

How we designed and engineered a Bengali-first platform that runs batches, fees, attendance and AI-checked exam scripts for coaching centres and schools, all in one place

Listen First, Write Later: Launching Notewinger's Voice-to-Notes Story

How we turned a simple promise, record the class and get the notes, into a bilingual, scroll-driven launch site built to fill a waitlist and to be found by search engines and AI answers