Fashion e-commerce platform
A 587-product storefront for a retailer in Accra, where every order closes in WhatsApp.

Context
A fashion retailer in Accra selling men's, women's and kids' pieces plus authenticated designer bags. They had a physical shop and an Instagram following, and no way for either to turn into an online order.
The problem
- Nearly 600 products with no catalogue anyone could browse or search.
- Card payment penetration is low locally, and a checkout nobody completes is worse than no checkout.
- Customers were already messaging on WhatsApp. Any flow that pulled them out of it lost them.
- Nothing about the shop existed in Google results.
What I did
Catalogue first
Built the browse and search experience before anything else. Products, categories, filters, and a detail page fast enough to feel native on a mid-range Android over mobile data.
Checkout where the customer already is
The buy action composes a prefilled WhatsApp message with the product, size and price. No account, no card form, no abandoned cart. The conversation the seller was already having, just started correctly.
Findable by default
JSON-LD product schema with live price and availability, per-product Open Graph images generated on the fly, sitemap, robots.txt and a real 404. Shared links preview properly, which matters when the traffic is social.
Accounts, collections and an admin the owner runs herself
Customer auth with saved items, curated collections and filtering across the full catalogue. Behind it, an authenticated admin for products, images and pricing on Vercel Blob, so the shop lists new stock without a developer in the loop.
Calls I made
WhatsApp ordering instead of a card gateway
Matching how people in this market actually buy beat matching how e-commerce is supposed to work. Conversion came from removing steps, not adding payment options.
Migrated SQLite to Neon Postgres
The local database that was right in development was wrong for serverless. Moving to Neon fixed connection handling on Vercel before it became a production problem.
Dynamic OG images per product
Almost all inbound traffic arrives from a shared link. A generic preview card wastes the one impression you get in someone's chat.
Where it landed
- Live storefront with around 587 products, browsable and shareable.
- Orders flow straight into WhatsApp, where the shop already closes sales.
- Full technical SEO in place: structured data, sitemap, per-product previews.
- The shop lists and updates its own stock through the admin.
Open for work
Got something that has to work on a bad connection, in a real shop, with real money?
Open to full-time remote roles, freelance projects and collaborations. Tell me what you are building and I will tell you honestly whether I am the right person for it.