Industry

B2B Comms

Client

Wyzetalk

White-label employee engagement at scale.

Main Project Image

One app. Thirty-plus brands. A framework that couldn't keep up.

Wyzetalk connects non-desk workers with the companies they work for, and with more than 30 enterprise clients each with their own brand, their own language requirements, and their own way of showing up to their workforce, every deployment was a white-labelled version of the same app. Clients like Anglo American, Woolworths, Nando's, and ABSA. The problem was the underlying framework: Ionic made consistent theming across clients difficult, every new client created friction, and layouts broke under languages with longer text strings. The system was solving the same problems repeatedly instead of once. The move to Flutter in 2019 was the opportunity to fix that, and the auth and onboarding flow was the right place to start since it's the first thing every user sees regardless of which brand they're inside. Anglo American's mining workforce in Australia, a Woolworths store employee in Cape Town, a Yum! Brands team member registering in English. Same screens, different brand expressions, different languages, different authentication paths. The theming system was built to handle all of this without custom work per client, with brand colours, typography, and logo placement controlled through a token layer so changing the tokens changes the brand. Language support was designed into the layout constraints from the start rather than patched in after. The auth flow covered three distinct registration paths: SSO for employees with a corporate email, mobile number registration for non-desk workers without one, and a USSD fallback for feature phone users, because in emerging markets a meaningful share of the workforce isn't on a smartphone.

Large Project Gallery Image #1
Project Gallery Image for 50% width of the screen #1
Project Gallery Image for 50% width of the screen #1
Project Gallery Image for 50% width of the screen #2
Large Project Gallery Image #3
Project Gallery Image for 50% width of the screen #2

Good design work but wrong platform bet.

The Flutter rebuild was canned before it shipped. The team evaluated their options and returned to Ionic, not because of the design but because of where Flutter was at the time, and that's just how early-stage platform bets sometimes go. What stayed with me was how much the project taught, and how much of that learning came from the constraints themselves rather than the outcome. The theming system had been tested against some of the most demanding brand and language requirements you can design for, and working through those problems in a fast-moving, genuinely exploratory environment shaped how I think about systems design more than most projects that actually shipped. The frontend engineer I worked with described it as "chaos-and-coffee powered," which feels about right. The hardest problems weren't the screens, they were the constraints that had to hold across every brand and every context simultaneously, and figuring those out together across design and development is the kind of process I find most valuable, whatever the outcome.