Work · Case study
One content model, every language, and a front end that never asks twice.
01 / Challenge
A React front end needed dynamic, multilingual content, and there was no backend structured to serve it. Without a headless CMS and properly modelled endpoints, managing content across languages and pages would have meant maintaining it in the front end — which does not scale past the first translation.
02 / Approach
Drupal was configured as a headless backend and the content models were designed for the front end's actual consumption rather than for the admin screen. Endpoints are language-aware, so a locale is a parameter of the request rather than a separate integration.
The hard part was keeping response structures consistent while content varied by language. Standardised content types and language-aware endpoints mean the React application parses one shape regardless of locale, which is what keeps a translation from becoming a front-end branch.
03 / Outcome
response shape across locales
Multilingual content is managed centrally in Drupal and delivered through the API to every page of the React application, with one response shape across locales. The architecture scales by adding content rather than by adding front-end code.