The system behind every perfume counter.
Every bottle, every outlet, accounted for.

Built on
The problem
Retail outgrows spreadsheets quietly.
Perfume World sells fragrance through mall outlets across Malaysia. A chain like that runs on thousands of small facts: what's on each shelf, what each bottle cost at each counter, who sold it, and which supplier invoice it belongs to.
Off-the-shelf POS software handles the till. It doesn't handle per-location costs, staff commissions, the paperwork chain between warehouse and counter — or the malls themselves, several of which require every tenant to file an hourly-breakdown sales report, in the mall's own file format, by the next morning.
“One system that agrees with itself beats five that almost do.”
The platform
Three apps. One truth.
A web backoffice for head office, a point-of-sale app in every outlet, and one engine underneath — so a stock number in the warehouse is the same stock number on the counter, the commission report, and the mall's sales file.
Backoffice
Point of sale
Document chain
Commissions
Mall reporting
The system
Plain parts, precisely wired. Built to last.
The engine is a NestJS API over PostgreSQL, with a data model covering everything from a product variant to a mall's sales file. It runs as one container on AWS, behind a CDN, with the backoffice deployed separately so either side can ship without touching the other.
Secrets live in a vault, never in code. Deploys are keyless: a push to main builds the image, scans it, and rolls it out — no passwords on laptops, no servers to log into.
The whole estate is described in Terraform. If the worst happens, the production environment can be rebuilt from the repository, not from memory.
What we'd do for you
Your operations, described in software.
Perfume World's platform is bespoke, but the method transfers to any business that has outgrown its spreadsheets. Three principles, always.
Model the business, not the feature list.
Automate the reports nobody enjoys.
Make the next one cheap.
Still running on spreadsheets?
Tell us how your business runs. We'll reply within one business day.



