Skip to content
All writing

Modernization

Rebuilding a live platform you didn't build

by Deftly team6 min read

One of our clients runs a large shopping and lifestyle centre. Its digital side is bigger than it looks: a mobile app with a loyalty programme, a website, touch screens around the centre, indoor maps, and the back office that feeds them all. When we took it over, it had been built by another team, it was showing its age, and it could never be switched off. Visitors use it every day. This is how we rebuilt it while it kept running.

Stabilize before you rebuild

Inheriting a codebase means inheriting its surprises. Before planning anything new, we spent the first stretch making the existing platform dependable: fixing the issues visitors actually hit, getting crash reporting and analytics in place, and learning where the system was fragile.

That work paid twice. Visitors noticed fewer problems right away, and the rebuild plan was based on how the system really behaved, not on how it was documented.

One backend for every screen

The app, the website, and the touch screens had grown up with their own assumptions about the same data: shops, offers, events, and visitor accounts. We built a new API to serve all of them from one model, and moved features over to it one at a time while the old backend kept serving what hadn't moved yet. Nothing was switched over in one night, and every step could be rolled back.

A new app, without losing anyone

The mobile app was rebuilt on a current React Native foundation. The hard part was not the screens, it was continuity. Existing members had to keep their accounts, loyalty status, and sign-in method, whether that was a phone code or an Apple, Google, or Facebook login. Push notifications and analytics had to keep working across the switch, so the team could compare before and after.

Getting that right meant treating the migration of people as carefully as the migration of code.

Put the centre's team in control

A platform like this lives on fresh content: offers, events, editorials, newsletters, and shop changes. We built an admin that lets the centre's own marketing and operations teams run all of it, plus a map editor for keeping the indoor maps up to date when shops move. The fewer requests that need a developer, the faster the centre can react.

Where digital meets the building

Touch screens inside the centre show the same shops, maps, and offers as the app, from the same backend. Visitors get one consistent experience whether they are on their phone at home or standing in front of a screen looking for a shop, and content changes once instead of three times.

Support is part of the product

When a whole city's shoppers use an app for loyalty offers, some of them will get stuck on a sign-in or a reward. We handle that support with the centre's team, and every recurring question feeds back into the product as a fix or a clearer screen.

Bottom line

Rebuilding a platform you didn't build is less about the new technology and more about sequence: make it stable, move it piece by piece, protect the people using it, and hand the client control of their own content. If you are looking at a similar takeover, our team as a service model is built for exactly this.