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
- 01Modelled one catalogue with role-dependent pricing and ordering rules
- 02Migrated file-based product data into a relational schema
- 03Built an admin panel first, so the business could operate the platform from day one
- 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.