Loyalty Console for a 60-Outlet Manila Coffee Chain
Designed and built a clickable loyalty console for a Manila coffee and bakery chain's rewards programme: a programme dashboard with the points liability, member lookup with masked mobiles, a member record with its full points ledger, adjustment approvals that always need a second person, and a fraud alert queue for shared QR codes and staff self-earn.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, members, member detail with all 8 tabs, adjustment approvals and fraud alerts. Each of the 24 demo members opens its own record with a points ledger and the earn calculation behind every entry.
Every manual change to a balance waits for a second person. The raiser cannot approve their own adjustment, and anything above 2,000 points escalates to the programme manager.
Shared QR at distant stores (more than 5 km apart within 30 minutes), too many earns per day, staff self-earn, many accounts on one device, referral rings, redemption right after an adjustment and unusual cancel-and-refund patterns.
3 tiers, 22 of the 60 stores, 8 staff users, 13 adjustments, 11 fraud alerts, 8 support cases and 4 privacy requests, priced in PHP on Manila time.
Dapithapon ran a paper stamp card and a plastic points card that only worked in the 22 outlets on the newer till software. Stamp cards were lost, photocopied and filled by friendly crew, points were earned on mobile numbers that belonged to nobody, promos went out as one SMS blast to a spreadsheet of uncertain consent, and when a store's line went down the till silently skipped the loyalty step. Support fixed the complaints by typing points into a back-office screen with no approval and no reason.
Balikan is the loyalty platform behind Dapithapon Rewards: a member app with a rotating QR card, a till integration that keeps earning when the store is offline, and a console where support, fraud, marketing and finance staff run the programme. Every manual adjustment needs a second approver, fraud rules run on every till post, and the points liability is reported to finance in pesos.
Points are promotional credit, not money, but members, auditors and fraudsters all treat them as if they were. A loyalty programme for 60 outlets has to be fair to members, honest with finance and hard to game at the till, under Philippine privacy and promotions law.
Support typed points into accounts with no reason and no second check, and nobody noticed when one account received 40,000 points in a month. Every balance has to come from an append-only ledger, with each manual change reasoned, approved and audited.
Shared QR codes used at stores kilometres apart, crew earning on their own sales, many accounts on one phone and referral rings all cost real money. The rules have to catch them on each till post without stopping the sale.
Under the Data Privacy Act, marketing, profiling for personalised offers and partner sharing each need specific, recorded consent with its version and timestamp. Members can access, correct, object to, erase and export their data, and app store rules require account deletion inside the app.
Under PFRS 15, points earned on a sale are generally a separate performance obligation. Head office could not say what unredeemed points were worth when the auditors asked, and expiry has to follow the published terms, with members warned before points lapse.
Mapped 11 roles from the member and cashier to the fraud analyst, finance and the data protection officer, 54 screens across the member app, the till, the console and public web, and the data model for members, consents, tiers, earn rules, an append-only points ledger, vouchers, adjustments, fraud rules and alerts, campaigns and promo permits. Wrote down the rules the design follows: the Data Privacy Act and NPC breach rules, the Consumer Act on sales promotions, the Gift Check Act, senior citizen and PWD discounts, BIR invoices and PFRS 15.
Built 5 console screens on a production dashboard kit: the programme dashboard with KPIs, member sales share by store, tier mix, the points liability and a Needs attention list, members with masked mobiles and a quick view, the member record with 8 tabs and a logged unmask, adjustment approvals with evidence and escalation, and fraud alerts with triggering events, a distance map for shared QR codes and linked accounts. All actions run on local state.
The member app and the two till panels, the Balikan till API into the chain's POS with the offline queue, OTP and marketing SMS through a provider such as Semaphore, push through OneSignal, email through SendGrid or Amazon SES, device signals from Play Integrity and App Attest, and BigQuery for finance. Staff sign-in through the company's identity provider with MFA, an append-only audit log, and the remaining console screens for programme rules, campaigns, promo permits, privacy requests and reports.
An adjustment shows its evidence, the member's recent ledger and other adjustments in the last 90 days. Approve, reject with a reason or escalate, with requests waiting over 24 hours marked in red and the approver's limit shown in the sidebar.
Each alert lists the events that fired the rule, the cashier ids and linked accounts. Confirming freezes the member and raises a reversal that still needs approval, so even the fraud team cannot change a balance alone.
Mobile numbers are masked everywhere, unmasking on the member record is logged, and exports are masked unless the data protection officer approves. Consent history records each choice with its source and timestamp, and the versions of the terms and privacy notice agreed to.
The dashboard shows outstanding points, the breakage estimate and cost per point as one peso figure, alongside the stores with the lowest member sales share and campaigns that still lack a promo permit.

Designed and built a clickable till and back office for a chain of 9 hardware and home stores in Gran Asunción: a tablet till that keeps selling when the internet drops, sells cable by the metre and nails by the kilo, records every approval, and issues electronic invoices through Paraguay's SIFEN system.

Designed and built a clickable inventory sync hub for a Kuala Lumpur sporting goods retailer with 14 stores, a 3PL warehouse, a web shop and two marketplaces: one stock ledger for every variant at every location, an explained available-to-promise number per channel, oversell and conflict alerts, and stock adjustments with four-eyes approval.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab