DK · Senior Software Engineer
Multi-brand web platforms
Professional work
Production websites for more than one brand, delivered through React, Remix, TypeScript, GraphQL, and Umbraco. Shared work, not a solo product.
Software engineer on the team, later in a senior role on the same platforms. 2021 – Present. In production. Details below stay high level on purpose.
Overview
At The Rank Group I have spent several years on CMS-driven web platforms that serve more than one brand. The frontend is React and Remix, with TypeScript, talking to content through GraphQL and Umbraco. My work has been implementation, structure, and the unglamorous business of keeping a large UI changeable.
The problem
A multi-brand frontend gets messy when every brand grows its own copy of a component. The engineering problem is to share what should be shared, allow what must differ, and still ship with design, product, and QA in the same loop.
Architecture
Content lives in the CMS. The site renders it through a typed frontend. GraphQL is the contract between those sides. Reusable components carry the layout, and brand differences sit in content and in a smaller set of presentation rules. I am not going to publish the internal shape of that system.
Decisions
- Prefer a shared component with a clear API over a brand-specific fork, unless the product difference is real.
- Keep the CMS integration explicit so a content change does not require a treasure hunt through the UI.
- Review for maintainability, not only for whether the screen matches the ticket.
Trade-offs
- A shared component is slower to agree and faster to live with. A one-off is the opposite. Most of the judgement is knowing which one you are looking at.
- Headless delivery adds a contract to maintain. It also keeps the CMS and the frontend from collapsing into each other.
Where it stands
The platforms are in production and I still work on them. I will not publish traffic, revenue, or performance figures. They are not mine to invent, and many of them are not mine to share.
Collaborative production work. No internal tickets, infrastructure, or unpublished designs.
Stack
- React
- Remix
- TypeScript
- GraphQL
- Umbraco
Back to lekker.dev