Jemmia Priority: Customers Walking Alongside the Brand

A Closed Referral Loop
Jemmia Priority revolves around one simple idea: users create a coupon right inside the app and share it with people they know. When the invited person takes that coupon to buy, they get an instant discount, and the coupon's creator earns a referral commission.
It sounds simple, but everything has to line up. A coupon created in the app must actually exist in Jemmia's sales system, because staff will apply it at the counter or on an order. That's why coupons are synced through Haravan, the commerce platform Jemmia already uses.
I worked on this project as Project Manager and Full Stack Developer, with a NestJS backend and a PostgreSQL database.

Rank Comes from Sales, Not Promises
Instead of handing out tiers to anyone who signs up, membership rank is decided by the sales a user generates through their own coupons. Silver, Gold or Platinum all reflect something real: how much value you've brought to the brand.
That turns rank into a motivator rather than a badge. Referrers have a reason to keep going, and the brand only pays when real revenue comes in.
Why I Used a UI Template
The app's interface is built from an existing template kit. That was deliberate. The value of Jemmia Priority lies in calculating commission correctly, keeping the Haravan sync reliable and keeping the business flow free of discrepancies, not in every button being one of a kind.
So I put my time into the backend and business logic: paying referrals, syncing coupons, managing rank. The interface only needed to be clean, familiar and fast enough for users to get things done.

Withdrawals: A Human Stays in the Loop
Users who accumulate commission can request a withdrawal. Here the system does not transfer money automatically. The request goes to an admin, who checks and approves it, and then the system pushes a notification back to the app so the user knows the outcome.
With real money, a manual approval step is a small price for a lot of peace of mind: someone always looks again before money leaves.
What I Took Away
Not every project needs a one-of-a-kind interface. When the value lives in the business logic, borrow the UI from a template and spend your energy where the client actually needs it: money moving correctly, data syncing correctly, and a person accountable at each important step.
Tech Stack
HTML5
Sass
JavaScript
jQuery
FirebaseNestJS
PostgreSQL