A theme’s demo homepage is designed to impress in thirty seconds. The pages that decide whether a South African independent keeps a sale are quieter: the product filter that surfaces one vintage lamp among two hundred SKUs, the cart that remembers quantities after a dropped connection, the FAQ that answers shipping before someone opens WhatsApp, and the product detail that loads on a mid-tier phone before the shopper taps away.
That gap between “pretty preview” and “working shop” is widening as online retail becomes ordinary rather than optional. South Africa’s e-commerce turnover was forecast to exceed R130 billion in 2025—roughly a tenth of total retail spend—and to grow about 38% year on year after reaching R96 billion in 2024 (Joburg ETC). Industry surveys cited in the Peach Payments / World Wide Worx 2025 Online Retail Report put checkout friction and shipping fees among the top reasons shoppers abandon carts (Peach Payments 2025 Online Retail Report). For a stall-scale trader or a hybrid vintage-and-hardware shop, the website is no longer a brochure; it is the till, the stockroom sign, and the returns desk.
When drag-and-drop stops matching how you trade
Website builders and off-the-shelf themes work well for a launch brochure or a single product line. They struggle when inventory mixes conditions, lead times, and categories that do not fit a template’s assumptions—vintage one-offs beside new tool bundles, timed specials beside standing hardware shelves, or articles that explain grading rules beside SKUs that need live availability.
Independent operators who outgrow those limits typically need three things a theme cannot bolt on cleanly: filters and shelves that follow the business’s own taxonomy, cart and checkout behaviour tied to real stock and payment rules, and editorial pages that search engines can index without waiting for JavaScript to finish on a phone. That is the practical case for a custom storefront built with React and commonly deployed on Next.js, a React framework that can ship fully rendered HTML to the browser while still behaving like a modern app on the client (Next.js SEO guide — Strapi).
Google’s public guidance treats Core Web Vitals—loading (LCP), responsiveness (INP), and visual stability (CLS)—as real-user experience signals that align with what its ranking systems seek to reward (Google Search Central — Core Web Vitals). On mobile, Google recommends keeping largest-contentful paint within about 2.5 seconds and interaction-to-next-paint under 200 milliseconds for a good experience (PageSpeed Insights — About). Roughly 77% of South African online shoppers use a mobile device as their primary path to purchase (Netcash eCommerce Statistics 2025). A theme that looks crisp on a designer’s desktop but ships a heavy JavaScript bundle to a budget handset is not a cosmetic problem; it is a conversion problem.
Server-side rendering and static generation—patterns Next.js supports natively—address that by sending crawler-ready HTML and a lighter first paint, rather than an empty shell that waits for the browser to download, parse, and execute a large bundle before prices appear (Next.js commerce patterns — GMI Software). Practitioners auditing mobile storefronts report that improving largest-contentful paint and interaction delay can materially change bounce and checkout completion, especially where most traffic is phone-first (Next.js Commerce & Core Web Vitals — 5Hz).
A worked example: Past and Present
Past and Present (past-and-present.co.za), trading as “Vintage & Modern Treasures,” illustrates what a purpose-built React storefront looks like once a hybrid catalogue goes live.
On the shop floor of the site, vintage and new inventory share one searchable catalogue rather than splitting across separate channels. The products index exposes sort controls, category chips—Consumables, Drill bits, Hardware, Ingco 20V, Welding machines, and others—and filters for featured items, bundles, new stock, and timed listings (All Products — Past and Present). The homepage groups “Bundles” and category shelves so repeat buyers can jump straight to hardware or new arrivals without wading through a single undifferentiated grid (Past and Present homepage).
Product detail pages carry the operational detail themes often bury: comparative pricing, availability (“In Stock”), delivery windows where applicable, weight and dimensions, and a guest checkout path with card payments described as routed through Yoco (Special - Ingco Cordless Angle — Past and Present). A persistent cart icon in the header and an “Add to Cart” action on the product page keep the purchase path visible on mobile—the screen size most local shoppers actually use (Netcash eCommerce Statistics 2025).
Alongside commerce, the site runs an article shelf—branded on the storefront as “Services” but functioning as a trust and discovery layer—with searchable editorial entries grouped by topic (Services / Articles — Past and Present). That pattern matters for independents who sell expertise as well as SKUs: repair notes, sourcing stories, and local business context can rank in search when they are served as indexable pages rather than as ephemeral social posts (Next.js SEO guide — Strapi).
The pages that replace WhatsApp ping-pong
Themes sell hero images; operators live inside policy and contact flows. Past and Present publishes standalone FAQ, contact, and returns-adjacent guidance: standard domestic shipping in three to five business days, express options, fourteen-day returns for goods in original condition, vintage grading explained in plain language, and card acceptance via Visa, Mastercard, and American Express through Yoco (FAQ — Past and Present). The contact page lists business hours, a Hartbeespoort-area address, phone, and a message form (Contact — Past and Present).
Those pages are unglamorous. They are also where many South African independents still lose margin—answering the same shipping and authenticity questions on WhatsApp, one chat at a time, while a competitor’s site answers them before checkout. Peach Payments’ 2025 industry data notes that checkout friction remains a leading abandonment driver (Peach Payments 2025 Online Retail Report). Publishing clear policies on the site does not eliminate customer messages, but it filters repetitive queries and signals that the shop behaves like a retailer, not a casual listing.
Behind the scenes, the value of a custom build is maintainability at the pace of trading. TypeScript catches mismatched product fields and cart payloads before they reach production; Tailwind CSS keeps layout and spacing consistent across hundreds of product cards without a tangle of one-off stylesheets. Those choices are not buzzwords—they are how a small team updates filters, badges, and checkout copy weekly without breaking the storefront when inventory rules change.
What to ask before you buy another theme
A fair comparison is not “custom versus cheap.” It is whether the site matches how you actually trade:
- Can staff update stock, bundles, and categories without editing code?
- Do filters reflect your shelves—not a template’s default taxonomy?
- Does the cart survive mobile sessions and reconcile with what is on hand?
- Are article, FAQ, shipping, and contact pages fast, findable, and written in your voice?
- Would you trust the checkout on the phone you sell from at the market?
Past and Present is one public example of that bar: mixed inventory, category shelves, editorial trust content, Yoco-backed checkout, and policy pages that do the quiet work themes reserve for plugins (Past and Present). For independents who have outgrown drag-and-drop limits, a custom React or Next.js storefront is less about looking different from the next template and more about making the unglamorous parts—stock, cart, mobile speed, and honest policies—as dependable as a physical shop counter.
Businesses that need a site shaped around how they actually sell—not how a theme demo looked on launch day—should treat the storefront as operational infrastructure. The homepage can still be beautiful. The sale is won on the pages shoppers touch when they are ready to pay.
References
- SA e-commerce market value set to exceed R130bn in 2025 — Joburg ETC
- Peach Payments | 2025 World Wide Worx Online Retail Report
- South Africa eCommerce Statistics 2025 — Netcash
- Understanding Core Web Vitals and Google search results — Google Search Central
- About PageSpeed Insights — Google for Developers
- The Complete Next.js SEO Guide for Building Crawlable Apps — Strapi
- Next.js commerce in 2026: patterns and architecture — GMI Software
- Next.js Commerce & Core Web Vitals Optimization — 5Hz
- Past and Present | Vintage & Modern Treasures
- All Products — Past and Present
- Special - Ingco Cordless Angle — Past and Present
- Services / Articles — Past and Present
- Frequently Asked Questions — Past and Present
- Contact Us — Past and Present