Beauty Time
A cosmetics storefront for the Nepal market selling makeup, skincare and sunscreens, with a variant-aware catalog covering every shade and size, plus coupons, reviews, and a checkout on eSewa and cash-on-delivery. Full admin behind it, built end to end on Laravel and Livewire.
THE STORE IS NO LONGER ONLINE
- Role
- Full-Stack
- Stack
- Laravel · Livewire
- Data
- MySQL
- Payments
- eSewa · COD
- Timeline
- 2025
Cart → eSewa
shades, coupons and COD, built for Nepal
CONTEXT
A cosmetics retailer selling makeup, skincare and sunscreens into the Nepal market, with a storefront on the front and a full admin behind it.
Built end to end on Laravel and Livewire: catalog, cart, checkout, coupons, reviews, and the admin that runs all of it.
THE HARD PART
Selling cosmetics in Nepal sets two constraints most storefront tutorials skip. Card penetration is low, so cash-on-delivery is the default rather than an edge case, and eSewa is the wallet people actually have.
Cosmetics are also variant-heavy in a way that breaks naive catalog models. A lipstick is not one product. It is fourteen shades, each with its own stock, its own price, and its own ability to sell out.
WHAT I BUILT
- A variant-aware catalog where every shade and size carries its own stock.
- Coupons and customer reviews.
- Checkout on eSewa and cash-on-delivery.
- The full admin behind the store.
REVISIONS · THE CALLS I MADE
Each shade is its own sellable unit
A shade that has sold out must become un-buyable on its own while the other thirteen stay live. Modelling shade as an attribute of a single product makes that impossible, and you find out when somebody orders a colour you cannot ship.
Livewire rather than a separate SPA
A storefront plus an admin is mostly server-rendered forms, tables and lists. Livewire keeps one language and one template layer, instead of standing up an API and a client app to render the same screens twice.
Cash-on-delivery as a first-class payment state
Treating COD as simply unpaid corrupts the order lifecycle. It needs its own states, unconfirmed, out for delivery, cash collected, or the shop cannot tell the difference between an order sitting in a courier bag and one nobody has touched.
OUTCOME
- A full cart-to-eSewa checkout shipped end to end, with cash-on-delivery as a peer payment method.
- The storefront is no longer online. The domain stopped resolving in 2026.