L’OCA Quality Market
Website for a new supermarket
Principal developer
This is the website for a new supermarket (or “quality market” as they put it).
It went through a couple of phases: phase 1 was deployed in July 2023 and was just a landing page. Phase 2 was deployed around May 2024, which introduced the bulk of the features: products, blog, recipes, sites pages for the two in-house restaurants Pyro and Oro, and more.
The owner is the same company as Go Auto’s owner; I was contracting for the same agency as for that build, with largely the same team.
They wanted to reuse what we’d put together for Go Auto; that is, headless Craft CMS and NextJS for the front end.
But we also wanted to take advantage of the new features available in NextJS 13, for example React server components, better caching on data from the CMS, and the performance benefits that come along with them. At the same time we wanted to revisit how the content builder code worked, for more consistency and a more streamlined workflow when adding new builder blocks.
Upgrading was not a trivial process.
To take full advantage of the new features in Next we had to switch from the pages router to the app router. For a project of that complexity, even after stripping out all the Go-Auto-specific pieces, this was a long process.
The result, however, is a huge improvement. Caching was a thorn in our side for Go Auto, but with L’OCA everything is cached with particular lifetimes and tags for each context, and we can easily trigger revalidations, either globally or surgically.
The majority of the components are React server components, and so are evaluated only on the server side. This means they’re never bundled for the front end, so the payload for the client is smaller, and none of the client’s CPU cycles are wasted rehydrating components where there’s no real need for React.
Overall I’m really happy with how this came together.
It’s too bad the content authors are making something of a mess of it now that it’s out of our hands. We’ve pointed out how to fix various eyesores visible at the time of writing, but they don’t seem to want to.