L’OCA Quality Market mobile app

Cross-platform mobile app for supermarket

Principal developer

  • app
  • front-end
  • devops
  • Expo
  • React
  • React Native
  • GraphQL
  • Typescript
  • Tailwind
  • Kor

This is a React Native app for a new supermarket (or “quality market” as they put it).

It was built with Expo, which meant we didn’t have to touch any native code at all; almost everything is in Typescript and React Native.

The goal was to mirror much of the website, and then add a few additional features for mobile like loyalty card access.

We initially hoped to share front-end code between the website and the React Native app, but we quickly came across huge problems with that approach, and realized that if we forged on we’d essentially be rewriting all components. If we were going to rewrite all components anyway, we figured we may as well write a whole new frontend optimized for the app, and so in the end that’s what we did.

Using a monorepo we did manage to share all business logic, Typescript types, data fetching code, and data transformation code between the NextJS website and the app.

I’m not totally satisfied with the speed of the app, but it’s now handed off to the client and hopefully they can make some improvements in that regard. The Craft CMS GQL server is rather slow, and I suspect better caching could go a long way.