Skip to content
All work

VESELIF

VESELIF sells bedding products to both wholesale accounts and retail customers — two pricing models, two expectations, one inventory.

Client
VESELIF
Industry
B2B / B2C marketplace
Discipline
Custom Engineering
Year
2025

Challenge

Wholesale and retail were being run as separate manual processes over a shared stock list, with product data held in flat files and no administrative interface.

Approach

  1. 01Modelled one catalogue with role-dependent pricing and ordering rules
  2. 02Migrated file-based product data into a relational schema
  3. 03Built an admin panel first, so the business could operate the platform from day one
  4. 04Kept the retail storefront fast under a catalogue that will keep growing

Solution

A single platform where wholesale accounts see their terms and retail customers see a conventional store, both served from one product model and one admin.

Technologies

  • Next.js 15
  • TypeScript
  • Supabase
  • Tailwind CSS
  • Vercel

Architecture

  • Next.js App Router, server components for catalogue rendering
  • Supabase Postgres with row-level security separating account roles
  • Server-side order handling; no pricing logic exposed to the client
  • Admin routes isolated from the public bundle

Outcome

Both channels run on one system with one source of product truth, administered by the business without developer involvement.

Outcomes are described qualitatively. We publish performance figures only where the client has verified and approved them.