Perfume E-commerce Platform
An all-in-one commerce platform with shared business logic and a fully custom storefront per brand — plus an AI assistant.

Role
Full-Stack Engineer
Industry
Retail · E-commerce
Timeline
Ongoing product
Stack
14 technologies
What this project is
An all-in-one solution for perfume shops. The admin business logic is designed to work for any fragrance store, while the storefront's UI/UX is crafted uniquely for each brand — making it a hybrid of custom software and SaaS: the logic runs the same everywhere, but every shop gets its own look and feel. An integrated AI chatbot answers frequently asked questions.
Context
A product built to serve perfume retailers, where every brand wants a distinct storefront but the same robust commerce engine underneath.
Main goal
Give any perfume shop a complete commerce back office and a branded storefront, without rebuilding the business logic each time.
The problem — and the value delivered
Written for owners and stakeholders: what was broken, why it mattered, and what changed.
The problem
Perfume shops need serious commerce tooling — variants, stock, payments, order management, analytics — but each brand also wants a storefront that looks like theirs, not a generic template. Off-the-shelf tools force a tradeoff between capability and identity.
Why it mattered
In fragrance retail, brand experience is the product. A generic storefront undercuts the brand; a bespoke rebuild for every client is too slow and costly.
The solution
A platform where the admin and business rules are shared across all shops, while the customer-facing UI/UX is fully tailored per brand. Owners get variant management, inventory with movement logs, payment integration, order handling, sales statistics, an FAQ chatbot, and buyer-tier rewards — all from one engine.
Benefits delivered
- Complete admin back office that works for any perfume shop.
- Fully branded storefront and UX per client.
- Integrated payments via the ONVO gateway.
- Buyer tiers that let owners reward their best customers.
- Sales statistics for data-driven decisions.
- An AI assistant that handles common customer questions.
All-in-one
Commerce back office
Per-brand
Custom storefront UX
Self-hosted
AI assistant (Llama 3)
Architecture & implementation
Written for developers and recruiters: the technical decisions, tradeoffs, and lessons.
Architecture
A Next.js application fronts a Supabase (PostgreSQL) data layer with authentication and object storage. Payments run through the ONVO API. The AI FAQ assistant is served by a separate Python/FastAPI service running Llama 3 locally via Ollama, keeping the model self-hosted and decoupled from the storefront. Shared business logic lives behind stable interfaces so each brand's custom UI composes on top without forking the core.
Frontend
- Next.js
- React
- TypeScript
- TanStack Query
Backend & Data
- Supabase
- PostgreSQL
- Supabase Auth
- Supabase Storage (S3)
AI Service
- Python
- FastAPI
- Ollama
- Llama 3
Payments & Testing
- ONVO Payments API
- Jest
- Playwright
Implementation highlights
Shared logic, bespoke storefronts
One commerce engine drives every shop; the UI layer is fully themeable per brand, giving a SaaS-like core with custom-software polish.
Self-hosted AI assistant
A FastAPI microservice runs Llama 3 through Ollama to answer FAQs — no per-request cost to a third-party model, and full control over behavior.
Product variants & movement logs
Rich variant modeling with an inventory movement history and admin order management.
Buyer tiers & rewards
Configurable customer ranking so owners can reward top buyers on their own terms.
Challenges
Custom UI without forking the core
Per-brand storefronts risk turning into per-brand codebases. Keeping the business logic behind clean interfaces lets the UI vary while the engine stays single-source.
Integrating AI as a service
Running Llama 3 via Ollama behind FastAPI keeps the assistant isolated, independently scalable, and swappable without touching the storefront.
Lessons learned
- A clear seam between 'engine' and 'experience' is what makes hybrid SaaS possible.
- Self-hosting an LLM is a real option when cost and control matter more than frontier capability.
What it does
Product Variants
Full variant modeling and stock control.
Payments
Checkout through the ONVO payment gateway.
AI FAQ Chatbot
Self-hosted Llama 3 answers customer questions.
Sales Statistics
Analytics to guide business decisions.
Buyer Tiers
Reward your best customers with ranks.
Custom Branding
A unique storefront UI/UX per shop.
Full technology stack
Want something like this for your business?
I turn manual, error-prone workflows into reliable software. Let's talk about what you need.
Start a conversation