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
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 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 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.
Wallet, counter and dashboardNext.js App RouterOne codebase, one permission model
EdgeCloudflareNonce-based CSP and HSTS
DataPostgreSQL + PrismaEach bill recorded exactly once
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.
Per-location pricing in rupees, VAT included.
Developer documentation for the public API.
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.
Ready-made connectors for the POS systems Nepali cafés already use, built on the public API.
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.
SMS notices for customers without a smartphone, so nobody misses a reward.
Related services
Need a Product Like Eknas?
These are the services behind this case study. Each page lists prices, timelines and how I work, and every starting price is on my services page.
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.