React Isomorphic eCommerce Retail Experience
Bob's Stores is a physical and online sportswear retailer located in the north-eastern United States. Following an acquisition of Bobs by my employer, Sports Direct International, the Research and Development arm of SDI had the opportunity to re-platform their e-commerce property from Demandware (now known as Salesforce Cloud) to something of our own choosing. Reaction Commerce is a startup of a few years based in Santa Monica, California. They build a Meteor based, semi headless e-commerce platform called Reaction, with a GraphQL API and plugin architecture at its core.
After the involvement of Reaction Commerce was contractually agreed, we set upon constructing a new storefront that was a consumer of the GraphQL API that Reaction provided. The result is a new Isomorphic React website that I describe as dumb, in that very little processing is done in storefront itself, instead, transactions are handed off to the API wherever possible. The goals that the website had to achieve was basically to not be Demandware. It should be uncoupled and agnostic from the datasource in all instances. It should be extremely fast, reliable, simple, and also customisable and theme-able. With a secondary goal that the website could retain functionality but be re-skinned for other brands as appropriate. It should also feature next generation tracking capabilities that were more in line with modern social standards, meaning, don't do invasive tracking of users for retail purposes, but still maintain a companies ability to understand consumer behaviour and purchasing patterns.
The isomorphic element was important because SEO is such a driver for online retail, thus we had to ensure that many aspects of the product inventory are bot detectable, not just for search engines, but also for social media where a consumer would expect preview images and importation to appear automatically when sharing via WhatsApp for example. It also alleviates the various issues involved since store operators want to add numerous third party advertising and behaviour tracking scripts which are often associated with poor performance.
An anonymised responsive webpage is generated dynamically for each request, utilising significant in-app caching, and is frontend on the edge using Cloudflare which means the consumer gets a very fast and rapid render of the page, so even if the script takes a load to kick in on their browser, it happens before they begin to start interacting with the page.