Velvet Emporium
Built the brand identity, storefront, and admin workflows for a new Nairobi boutique.

Intro
Velvet Emporium was a new Nairobi boutique that needed to launch from zero. The work included the brand identity, customer storefront, and the internal system required to operate the business.
A new boutique has to earn trust quickly, but a polished storefront is only half the job. Products, stock, orders, delivery, payment, and editorial content also need a reliable operating model once customers start buying.
I built the brand and software as one system so the experience customers saw and the workflows the team used would support each other from launch.
My role
I owned the full digital foundation for Velvet Emporium.
- Brand identity and visual direction
- Storefront and product experience design
- Commerce admin and operational workflow design
- React and Vite frontend development
- Hono API and Cloudflare D1 data architecture
- Clerk authentication, Paystack payments, Sanity content, and Resend notifications
- Production deployment and launch verification
Solution
The storefront translates Velvet’s modern luxury identity into a focused shopping flow. Customers can browse the catalogue, choose a product and variant, reserve available stock, pay through Paystack, and receive confirmation.


The admin gives operators control over products, categories, inventory, orders, rider fees, fulfilment, refunds, and editorial references without turning the CMS into a commerce database.


Process
I treated brand, storefront, and operations as one product. The brand established Velvet’s lilac, off-white, charcoal, silver, and champagne palette. The storefront used that system for customer trust, while the admin prioritised clarity for stock and order work.
The architecture separates content from commerce. D1 owns products, variants, stock, orders, payments, refunds, and fulfilment. Sanity owns editorial content, product references used in content, and image assets. Clerk supplies identity, with D1 controlling admin authorisation.
Checkout reserves stock before Paystack initialisation. Payment state is verified before the system mutates commerce state, and webhook reconciliation handles delayed events. Email delivery runs separately so a notification failure cannot roll back a settled order.
The first release stays deliberately narrow. Velvet supports boutique pickup and Nairobi delivery, but it does not add customer accounts, loyalty systems, multi-currency checkout, or marketplace features that the business does not need.
Lessons
An ecommerce launch is an operations project as much as a storefront project. The visual identity earns the first look, but stock reservations, payment reconciliation, delivery state, and admin tools determine whether the shop can keep running.
Clear data ownership prevents expensive ambiguity. D1 owns operational truth, Sanity owns editorial material, and the frontend owns temporary interaction state. Prices, totals, stock, and payment status are never accepted from the browser as truth.
Scope is part of the design. Velvet’s first version handles the transactions and fulfilment paths the boutique uses now. Leaving out accounts, subscriptions, and other generic commerce features kept the work centred on launch.