All work

Cars.co.za · Marketplace platform · South Africa

Three products, unified into one stack.

Cars.co.za ran Android, iOS and web as three separate builds. Every feature was specified once and built three times, and every release moved at the speed of whichever platform was slowest.

One codebase. Three legacy platforms retired.

The Cars.co.za new-car search on a laptop: a filter rail of make, body type, price and safety rating beside a list of results with efficiency, emissions and 0-100 figures.
Client
Cars.co.za
Sector
Automotive · vehicle marketplace
Role
Cross-platform rebuild
Platforms
iOS · Android · web, one codebase
Expertise
Product Strategy, Full Stack Development, Product Design, Interface Design

The need

One product, maintained as three.

Cars.co.za is one of South Africa's leading vehicle marketplaces, and it came to us as part of a wider push to modernise its digital estate. The apps were one piece of that, and the piece with the most duplication in it.

Android, iOS and web were separate builds with separate release cycles. A change to something as ordinary as a filter was three tickets, three implementations and three review passes - so shipping was slow, it cost three times what it should, and the three surfaces drifted apart in the gaps between releases.

Everything built three times

One feature, three implementations, three release cycles

  • Android

    Its own codebase, its own release train, its own backlog of things the other two already had.

  • iOS

    The same product again, written again - and the platform where the store rating made the drift public.

  • Web

    The surface most buyers actually arrive on, maintained apart from the two apps it was meant to match.

Three phones showing the same Cars.co.za flow: the spec filters, the results list, and a vehicle detail page.
Used-car listings on an Android phone, each row showing price, mileage, transmission, fuel and distance from the buyer.

What we delivered

Rebuilt once. Shipped everywhere.

We rebuilt the marketplace from the ground up as a single cross-platform product: one codebase serving Android, iOS and web, server-rendered for first paint, with the navigation and the interface reworked around how people actually shop for a car. The infrastructure underneath was cleaned up at the same time, because a shared codebase on a sprawling stack only moves half the problem.

  • One cross-platform codebase for Android, iOS and web
  • Server-side rendering for first paint and search-engine reach
  • Navigation and UX overhaul, responsive from phone to desktop
  • Infrastructure clean-up to cut what maintenance costs to run
  • One change, three platforms - rollouts stop being three projects
Cars.co.za - one platform, every device
  • Android app

    Own codebase, own release cycle

  • iOS app

    Own codebase, own release cycle

  • Web

    Own codebase, own release cycle

After

One platform

Shared codebase, server-rendered, responsive

The test-drive booking flow on a laptop, with a grid of manufacturer badges to choose from.
A vehicle specification page on an Android tablet, with the contact-the-dealer form filling the right-hand column.
The Cars.co.za mobile home screen on a phone, with the vehicle search over a speedometer backdrop.

How we built it

A rebuild has to earn the disruption.

Replacing three working products with one is only worth doing if the result is cheaper to change, faster to load and better to use than what it replaced. Those were the three tests, and each one has an approved figure or a shipped behaviour behind it.

  • 01

    One codebase, not a shared library

    The apps were not refactored toward each other. They were replaced by a single cross-platform product, which is what makes a change one piece of work instead of three.

  • 02

    Server-rendered, deliberately

    A marketplace lives on search and on first impressions. Rendering on the server puts the listing in front of the buyer and the crawler without waiting for a bundle.

  • 03

    Navigation reworked, not ported

    The old structure was three navigations that had drifted. The new one is built for the job people arrive to do: narrow a search, compare, then contact a dealer.

  • 04

    The stack cleaned up underneath

    A shared codebase on sprawling infrastructure only halves the problem. Simplifying what runs beneath it is what makes the saving durable rather than a one-off.

The Cars.co.za home page on a laptop advertising 76 035 cars for sale, beside the same product on a phone showing a vehicle detail page.
The Cars.co.za mobile home screen, with a search over 70 000 vehicles and a row of current car specials.

By the numbers

What one codebase bought.

+0:43longer in an average app session than before the rebuild
+0.0on the Google Play Store rating
0legacy platforms retired into a single codebase

Lighthouse performance came back near-perfect, and the app store rating moved a full point - which is the same result read two ways: the product got faster, and people stayed in it longer.

The word from the client

Cars.co.za

We really appreciate your dedication to delivering a great product. It has been a pleasure working with a tech company that understands our culture and shares the vision we have to create great user experiences.

Alastair MacMurray

CEO & Co-founder, Cars.co.za

The capabilities

Three stacks in. One platform out.

  • Technology
  • Hybrid Web Application
  • Cross-platform
  • Automotive
  • Marketplace

Maintaining the same product more than once?

Related case study

More case studies

All work