Retail · two supermarket chains · 2022 — 2024
Changing an app's screens without shipping a new version
A BFF that sends the whole screen —content, styles and actions— so Android, iOS and the web change without shipping a new version.
The problem
In the app of two supermarket chains, customers follow their orders on Android, iOS and the web. Three clients showing the same thing, and in a native app a UI change usually means publishing a new version to the stores.
What I did
I started the BFF (backend for frontend) behind that part of the app from scratch and wrote most of its code.
The BFF doesn't just send data: it sends the screen. Each section travels with its content, its text styles and what every button does —open a link, a modal or a drawer— and the three apps draw it as it arrives.
Later I built a department store's BFF, in the same group, with the same approach.
What happened
A UI change shipped with a backend deploy, without publishing a new version of the app. The apps went from only showing an order to letting customers reschedule and cancel it.
NestJS · TypeScript · Kubernetes