Engineering case study

NAMAA

A mobile-first local loyalty platform designed around customer rewards, merchant operations, POS-aware redemption, local discovery, and PostgreSQL-backed product workflows.

3-sided product Customer, merchant, and admin workflows designed together.
POS-aware Clover and Square integration boundaries planned for redemption and transaction workflows.
Mobile-first QR/barcode redemption, wallet state, merchant detail pages, and responsive UI.
Code evidence Runnable SQL and JavaScript samples with tests for review.
App Store Production app reference available for NAMAA Loyalty Rewards.

Product

Local rewards marketplace, not just a points screen.

Customer experience

Customers need a fast path from discovery to redemption: find a nearby merchant, understand the offer, view wallet eligibility, and redeem with a QR or barcode flow.

Merchant tools

Merchants need store setup, promotion management, loyalty configuration, customer engagement, and operational workflows that connect to checkout behavior.

Admin review

Admin workflows support merchant onboarding, review states, data quality, and operational readiness before stores appear in customer-facing surfaces.

Architecture

Clean product boundaries for a multi-sided platform.

Mobile UI React, TypeScript, responsive flows, QR/barcode UX
Service layer Authentication, authorization, redemption, wallet, offer, and merchant workflows
Data layer PostgreSQL, SQL modeling, transaction history, eligibility, and review states

Engineering

What employers should notice.

Backend and data workflows

Structured product flows around wallet state, merchant eligibility, redemption events, admin review, SQL data integrity, and PostgreSQL-backed product behavior.

POS integration planning

Integration boundaries for Clover and Square, including merchant identity, transaction references, retry behavior, and redemption verification.

Ranking and personalization

Discovery needs ranking logic that can balance distance, offer value, customer interest, merchant activity, and recency. The sample in this repo shows the idea with fake data.

QA and release thinking

Redemption and merchant flows require practical QA: loading states, route state, wallet correctness, issue documentation, and regression checks around checkout behavior.

Code snapshots

Runnable samples that show the engineering work.

PostgreSQL schema

Example tables, constraints, relationships, idempotency keys, and indexes for merchants, offers, wallets, redemptions, and POS events.

Open schema.sql

Redemption state machine

Controlled reward lifecycle sample covering created, presented, verified, redeemed, expired, and rejected states with invalid transition protection.

Open redemption sample

POS event normalization

Clover and Square-style payment events normalized into one internal transaction shape before idempotency and reward handling.

Open POS sample

Ranking and tests

Fake merchant ranking logic plus Node tests for personalization, POS normalization, and redemption flow behavior.

Open ranking sample Open tests
Review path: Read code-snapshots.md, then run npm test from the repository root.

Interview scope

What I can walk through.

I can discuss the product decisions, data modeling, redemption states, POS integration boundaries, UI behavior, and the sample code included here. I keep credentials, customer and merchant records, partner configuration, live endpoints, and production source code out of this repository.