SKIP TO CONTENT
SEPTIAN.PADLI
CASE STUDY / 9e697f3f-20f6-4bdd-81ce-2e8801ae7405PUBLIC

// HOW I BUILD

MULTI-BRANCH RETAIL MEMBERSHIP & LOYALTY SYSTEM.

An end-to-end membership and loyalty platform for a 17+ branch retail network, combining a customer mobile app, REST API, internal backoffice, rewards, points, notifications, and operational workflows.

Project brief

ROLE
Full Stack Developer / End-to-End Developer
ACCESS
PUBLIC
TECHNOLOGY
BUN · CLOUDFLARE R2 · DOCKER · ELYSIAJS · EXPO · FCM · FILAMENT · GITHUB ACTIONS · LARAVEL · LARAVEL HORIZON · MYSQL · REACT NATIVE · REDIS · TYPESCRIPT

PROJECT VIEW / 01

#01 / CASE FILE

FROM CONTEXT
TO DELIVERY.

A concise view of the problem, the working context, and the response behind this project.

01

CONTEXT

Designed and built a multi-platform membership and loyalty system for a retail network spanning more than 17 branches. The system consists of a React Native mobile application, backend API, internal Laravel Filament backoffice, shared MySQL database, asynchronous jobs, notifications, media infrastructure, and deployment pipeline.

02

THE PROBLEM

The business needed a centralized membership platform capable of supporting customer points, reward redemption, bulk point operations, authentication, mobile experiences, internal administration, and branch-scale workflows. Critical reward operations also needed protection from duplicate requests and concurrent point or stock updates.

03

DECISIONS / RESPONSE

Designed the system end-to-end around a shared source of truth while separating customer-facing mobile flows, backend APIs, and internal operations. Applied transactional processing and idempotency to critical reward workflows, moved large bulk operations into asynchronous processing, and designed authentication and aggregation patterns specifically for mobile usage.

#02 / IMPLEMENTATION VIEW

THE SYSTEM
BEHIND THE
SURFACE.

Built the mobile app using React Native, Expo, TypeScript, Expo Router, and React Navigation. Developed REST APIs with ElysiaJS/Bun and an internal backoffice using Laravel Filament. Implemented concurrency-safe reward redemption using database transactions, row-level locking, atomic point deductions, held stock, Redis-backed idempotency, QR sessions, OTP confirmation, and invoice flow. Built asynchronous Excel-based bulk point injection with Laravel Horizon and Redis queues, including validation, duplicate handling, locking, retries, and activity tracking. Implemented JWT access/refresh flows, Redis allowlisting, SecureStore, rate limiting, guest device binding, single-flight token refresh, FCM notifications, object storage, and a Docker/GitHub Actions staging pipeline.

BUNCLOUDFLARE R2DOCKERELYSIAJSEXPOFCMFILAMENTGITHUB ACTIONSLARAVELLARAVEL HORIZONMYSQLREACT NATIVEREDISTYPESCRIPT

#03 / OUTCOME

BUSINESS / PRODUCT VIEW

WHAT THE WORK
ENABLES.

The platform was developed for a retail network with 17+ branches. The web backoffice and Android application reached UAT, while iOS development remained ongoing. The project gave me end-to-end ownership across mobile, backend, database, internal tools, integrations, and delivery infrastructure.

UP NEXTCASE / 1e941148-9186-48af-b7d3-a302856ac2d9

NEWS PUBLISHING PLATFORM & EDITORIAL CMS

READ CASE STUDY →
#04 / NEXT CONVERSATIONWORK / PROJECTS

LET'S BUILD
WHAT MATTERS?

Open to full-time engineering opportunities and end-to-end software projects.