AboutSkillsWorkProcessContact
Back to work
Retail · E-commerceHybrid SaaS · E-commerce2026

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.

Perfume E-commerce Platform

Role

Full-Stack Engineer

Industry

Retail · E-commerce

Timeline

Ongoing product

Stack

14 technologies

Overview

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.

For business

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)

For engineers

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.
Features

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.

Technologies

Full technology stack

Next.jsTypeScriptReactSupabasePostgreSQLSupabase AuthSupabase StorageONVO PaymentsTanStack QueryFastAPIPythonOllama · Llama 3JestPlaywright

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