Skip to content
Marco Julio Franco
Menu
All projects

Project 02 · Professional

Ikon Technologies

White-label IoT apps

Flutter Developer · Ikon Technologies · Feb 2021 – Oct 2023

white-label apps, one codebase

Context

Ikon sold, through US dealerships, an IoT device that plugs into the car, plus an app to get geofence and speed alerts, turn on stolen-vehicle mode or book a service with the dealer. Basically, it made your car “smart” without paying for the manufacturer’s system, which is usually expensive. When I joined, the app already existed and had a few white labels. On mobile it was two of us, the app’s creator and me, and we grew to five. Around us were six to eight people on the backend and two designers, spread across US and India time zones.

What made it hard

  • Every dealership wanted the app under its own brand, so there were more than 35 apps to build, sign and publish.
  • Any change meant a lot of red tape, almost nothing was decided with data, and the CTO changed several times.

Decision

When I joined, the app already had one Flutter codebase with a flavor per dealership, so the features were shared and each flavor brought its own config and brand. My call was to move from Google Analytics to Mixpanel, which went further for product reports and was easier to learn, and to add an analytics channel, so we could see with data how each app was used and look into bugs that happened while the app was closed.

  • One codebase
  • Vanguard Kia
  • Land Rover Palm Beach
  • Benton Nissan Columbia
  • Naples Nissan
  • 31+ more

Diagram · One codebase in every key

Text description: In jazz, moving by fourths lets you change key again and again without really feeling it, even though you are. Ikon’s white labels work the same way. In the center is the one codebase, and each dealership is the same song in another key, like Vanguard Kia (C), Land Rover Palm Beach (F), Benton Nissan Columbia (B♭) or Naples Nissan (E♭). Beyond those there are 30-plus more, and there’s room for as many as needed. Each one gets its own app, with its own name and colors, but underneath it’s still the same app.

What I did

I built features, fixed bugs, created the white-label apps, handled the stores and reviewed code. I owned each feature end to end, working directly with backend and design, and sometimes we also got time for R&D.

What changed

white-label apps shipped from the same code, and four of them are under Links. The US team really liked Mixpanel, because with one report per app they could see users go up and down in each one.

What I’d do differently

I wouldn’t change a thing. It was a good experience I had to go through, and it taught me to focus on what works, to think through the possible scenarios early and to be stricter with the code without becoming a perfectionist. But what I’m proudest of is the team, because we became friends and we’re still in touch.