
The brief
Kenneth sells phones, watches, and high-ticket gadgets, and did it all through direct messages. He wanted a storefront customers could browse on their own that looked premium enough to sit next to the devices he sells, without taking on a payment system or a shop he would have to babysit.
How we built it
- 1
A single-page store that feels instant
Built as a React app with Vite and TypeScript so browsing, search, and the cart happen with no page reloads. On Nigerian mobile data, that difference between instant and loading is the difference between a sale and a bounce.
- 2
A catalogue that's effortless to keep current
The whole product list lives in one typed data file, so adding a device or changing a price is a single quick edit and the storefront stays up to date in seconds.
- 3
Flagship-grade art direction
A confident Space Grotesk and Syncopate type pairing, deep contrast, and motion that reveals products as you scroll, so each device reads as the hero rather than a row in a spreadsheet.
- 4
Shipped with a safety net
Deployed to Cloudflare's edge through GitHub Actions, with unit tests and an end-to-end pass over the cart before anything goes live.
Why we built it this way
Speed over a heavy CMS
A static, edge-hosted store keeps hosting near-free and pages fast on 3G. For a storefront like this, that speed does far more for sales than a heavy content system ever would.
Checkout where trust already lives
The store hands the order off to the channel the owner and his customers already use. No new tool to learn, and no payment-integration risk on day one.
What it does
- Browse, search, and cart with no page reloads
- Curated catalogue of phones, watches, and accessories
- Edge-hosted, fast on low-end phones
- Catalogue updates from a single source of truth
Built with
- React
- Vite
- TypeScript
- Tailwind
- Motion
- Cloudflare
- Playwright
Ready for a real online store?
We’re onboarding our first owners now. Fixed price from ₦150,000, live in one to two weeks.
A short call, no commitment. hello@shelfhand.com