02Case study · Loyalty program SaaS

Eknas: A Loyalty Program SaaS for Nepali Shops

Eknas is a loyalty card and reward points app for cafés, salons, gyms and shops in Nepal, live at eknas.com. I built the full product: a free customer wallet, a counter app for staff, an owner dashboard, a super admin and a public API, priced in rupees from NPR 799 a month.

  • One point for every rupee spent
  • A member QR code that changes every 30 seconds
  • Plans from NPR 799 per location a month, VAT included
Eknas loyalty program SaaS shown on desktop and mobile

01The problem

The Problem with Loyalty Cards in Nepal

Small cafés, restaurants, salons and gyms in Nepal want regulars to come back, but their options are poor. Paper punch cards get lost and stamps are easy to fake. International loyalty platforms charge in dollars and assume a point-of-sale system that a neighbourhood café does not have.

A shop also cannot afford fraud at the counter: staff giving points to friends, the same reward redeemed twice, or a bill recorded twice when the network drops.

Eknas is a loyalty program a small Nepali shop can set up the same day, on a phone it already has.

Businesses in Nepal rarely know who their regular customers are, or whether an offer actually brings anyone back. Ujjwal Rupakheti built Eknas to change that: a free wallet for customers, a counter app where staff record a purchase by phone number or QR code, and a dashboard where owners run offers and see results by branch. He understood the problem and built every part of it properly.

EknasLoyalty program SaaS for businesses in Nepal · eknas.com

02The solution

What I Built: A Wallet, a Counter App and a Dashboard

Eknas has four parts. Customers get a free wallet that holds a card for every shop they visit. Staff get a counter app that finds a member by phone number and records a bill. Owners get a dashboard with offers, automatic messages and analytics by branch and staff. A super admin manages plans and billing.

Customers earn one point for every rupee. Rewards are claimed with a short one-time code, and every action at the counter is logged against the staff member who did it. It is the kind of SaaS product I build for businesses that bill in rupees.

How an Eknas customer joins, earns and redeems, shown on three phones
How a customer joins, earns and redeems.

03Features

What Eknas Does at the Counter and Beyond

The counter app is built for a busy till, the dashboard for an owner with ten minutes a day, and the wallet for customers who visit many shops.

At the Counter

  • Find a member by mobile number or scan their rotating QR code
  • Reward codes of 6 characters with no look-alike letters, valid for 15 minutes and usable once
  • Bills above a shop’s limit need a second confirmation
  • Cashiers see masked phone numbers and no birthdays

For Owners

  • Points programs and stamp cards, with double-points days on higher plans
  • Automatic birthday, almost-there, expiring-reward and win-back messages
  • Analytics by branch and by staff member
  • Managers can void a bill within 7 days, with a full log

For Customers

  • One free account holds every shop’s card
  • Points above the goal carry over
  • Ready rewards stay valid for 90 days by default
  • If a shop stops its program, customers get at least 30 days to redeem

Plans and Billing

  • Starter NPR 799, Growth NPR 1,999 and Pro NPR 4,999 per location per month
  • 13% VAT included, with a VAT invoice carrying the shop’s PAN
  • A 3-day free trial on every plan
  • Payment by eSewa, Khalti, Fonepay or bank QR
The Eknas page for businesses, showing the counter flow and anti-fraud rules
The business page: counter flow and anti-fraud rules.

04Architecture

Eknas Architecture and Tech Stack

Eknas is a Next.js application with PostgreSQL behind Prisma. The wallet, counter app, owner dashboard and super admin share one codebase and one permission model, so a cashier, a manager and an owner see different data from the same screens.

  1. Wallet, counter and dashboardNext.js App RouterOne codebase, one permission model
  2. EdgeCloudflareNonce-based CSP and HSTS
  3. DataPostgreSQL + PrismaEach bill recorded exactly once
  4. IntegrationsPublic REST APIOpenAPI 3.1 and signed webhooks

The Eknas Tech Stack

The public API lets a POS, an online checkout or a shop’s own app record bills and redeem rewards. It is described in an OpenAPI 3.1 file that developers can import into Postman or a code generator, the same way I document APIs for clients.

Framework
Next.js (App Router)ReactTypeScript
Data
PostgreSQLPrisma
API
RESTOpenAPI 3.1Secret keys stored only as keyed hashes
Webhooks
HMAC-SHA256 signatures5-minute tolerancePublic HTTPS targets only
Security
Nonce-based CSP with strict-dynamicHSTS with includeSubDomainsCSRF cookieX-Frame-Options DENY
Edge
Cloudflare

05Engineering

Engineering Decisions Behind Eknas

The four decisions that shaped Eknas, and why I made them. Each one solves a problem a real user would hit.

01

A QR Code That Cannot be Screenshotted and Reused

The member QR in the app changes every 30 seconds and each code is valid for 60 seconds. The code carries a signature, so a forged or edited code is rejected. The API still accepts a scanned code for 10 more minutes, so a shop can scan first and take payment after.

02

Bills That are Recorded Exactly Once

Recording a bill or a redemption requires an Idempotency-Key. If the network drops and the till retries, the second request returns the original result with duplicate: true. Reusing a key for a different bill returns a clear 409 error. Points cannot be doubled by a bad connection. HeliGo Nepal keeps its money just as exact.

03

An API Built to be Safe by Default

Keys have 7 permission scopes, voiding is off by default, and each key can have an IP allowlist and an expiry. Browser requests are refused outright, because secret keys belong on servers. Webhooks are signed with HMAC-SHA256 and only delivered to public HTTPS addresses, never to private or local networks.

04

Privacy for Customers

The API returns a customer’s first name and initial, and only the last three digits of their phone. A phone lookup for a number outside the business returns 404, so nobody can test numbers to find out who uses Eknas. The schema is designed with the same care I bring to database design.

Structured Data on Every Public Page

Eknas is built to be read correctly by search engines and AI assistants, in English and Nepali, with the same SEO work I do for clients.

  • SoftwareApplication with offers on the home page
  • BusinessAudience on the business pages
  • TechArticle and WebAPI on the developer docs
  • LocalBusiness on each shop’s public page
  • A full Nepali version under /ne
  • hreflang for en-NP and ne-NP

06Screens

Screens from the Live Eknas Site

Public pricing in rupees and the developer documentation, as they appear on eknas.com.

07Status

Where Eknas Stands Today

Eknas is live at eknas.com with public pricing, a Nepali version and published developer documentation. Shops can start a free trial without talking to anyone.

Live, with a free trial

It is the clearest example of how I approach business software: model the real counter, make fraud expensive, make retries harmless, and document the API so other developers can build on it.

What I’d Do Next

  1. Ready-made connectors for the POS systems Nepali cafés already use, built on the public API.
  2. An offline queue in the counter app. Idempotency keys already make retries safe, so a till could keep recording bills through a network drop and sync later.
  3. SMS notices for customers without a smartphone, so nobody misses a reward.

FAQ: Eknas Loyalty Program

What Eknas is, what it costs and how it keeps points honest.

Ask me on WhatsApp

What is Eknas?

Eknas is a loyalty program app for small businesses in Nepal, such as cafés, restaurants, salons, gyms and shops. Customers keep every shop’s card in one free wallet, staff record bills at the counter by phone number or QR code, and owners run offers and see analytics from a dashboard.

How Much Does Eknas Cost?

Eknas has three plans per location per month: Starter at NPR 799, Growth at NPR 1,999 and Pro at NPR 4,999. Prices include 13% VAT, and each invoice carries the shop’s PAN. Every plan starts with a 3-day free trial, and shops pay by eSewa, Khalti, Fonepay or bank QR.

How Does Eknas Stop Loyalty Fraud?

The member QR code changes every 30 seconds and carries a signature, so a screenshot or an edited code is rejected. Reward codes are single-use and expire in 15 minutes, large bills need a second confirmation, and every counter action is logged against the staff member who did it.

Can a POS or Online Shop Connect to Eknas?

Yes. Eknas has a public REST API described in an OpenAPI 3.1 file, so a POS, an online checkout or a shop’s own app can record bills and redeem rewards. Keys have seven permission scopes, every bill needs an idempotency key, and webhooks are signed with HMAC-SHA256.

Which Technologies is Eknas Built With?

Eknas is built with Next.js on the App Router, React and TypeScript, with PostgreSQL and Prisma for data. It is served through Cloudflare with a nonce-based Content-Security-Policy, HSTS with subdomains, a CSRF cookie and X-Frame-Options set to deny.

Can You Build a Loyalty or Membership App for My Business?

Yes. I build SaaS products and custom business software like Eknas for clients in Nepal and abroad, with payments in rupees and public APIs. A first version of a SaaS product starts from NPR 70,000 and usually takes 6 to 12 weeks. See SaaS development for what is included.

Planning a Product Like Eknas?
I’ll Send a Fixed Quote.

Send a short note about your project and budget. I reply within one working day with questions or a first estimate.

Ujjwal RupakhetiReplies within one working day

What are you planning?

Opens WhatsApp with your message started.