Multi-Branch Retail Operations Platform
A multi-branch retail operations platform: storefront, point of sale, branch inventory, attendance, commission and payroll, on one codebase and one database.
- Built for
- US Arabian Perfume
- Industry
- Fragrance retail, e-commerce and physical branches
- My role
- Sole Full-Stack Developer
- Status
- live2025
Built with Next.js, React, TypeScript, Tailwind CSS, PostgreSQL, Prisma, Auth.js, Square, Shippo, Resend, Cloudflare R2, Upstash Redis, Sentry, Vitest, Vercel
The system in numbers
- API route handlers
- 210
- Page routes
- 72
- Database models
- 64
- Automated test files
- 146
- Scheduled jobs
- 6
- Product surfaces
- 4
Source: Repository and deployment audit of the live system, September 2026.
In this case study
The problem
US Arabian Perfume sells perfume oils and sprays online and across retail locations in New Jersey and New York. Both halves of the business share the same products, the same stock, the same staff and the same money, so they cannot be run as two systems that are reconciled afterwards.
Four questions have to be answered correctly, all day, every day.
What can actually be sold, and where. A perfume oil listed at 30 ml is not an object on a shelf. It is raw oil, decanted into an empty 30 ml bottle, handed over in a carry bag. A branch can hold half a litre of oil and be unable to sell a single bottle because the bottles have run out. Treat stock as one number and the counts are wrong on the first day.
Staff earn an hourly rate plus commission above a threshold that moves with the day of the week, and the person operating the register is frequently not the person who made the sale.