OVO Charge
One app for every EV driver
Charge Anytime was a home charging app. Bonnet was a public EV charging app. In 2023, OVO acquired Bonnet, and the work began to bring them together into one.


Two apps, built completely differently. Bonnet was native, Swift for iOS and Jetpack Compose for Android. Charge Anytime was React Native. Different design tokens, different colour systems, different information architecture. Nothing translated directly.
The plan was straightforward: rebuild Charge Anytime inside Bonnet. One app, one design language, two user groups who both had to feel at home in it.
Map
Public users were comfortable with the map. Home users had one ask: don't make me look at a public charger map every time I open the app. So we kept the map, we just stopped leading with it for the wrong people. Public users open to the map. Home users open to the schedule screen. Same four tabs, different order. Small change, big difference.


Schedule
For public users this was a bonus. Home charging meant cheaper sessions, nothing to lose.
For home users the old screen was static and confusing. Nobody really knew what was happening with their charge. We rebuilt it from scratch, made it interactive, with clear charging statuses that actually told you what was going on. Validated with moderated user testing. Home users were excited about it. That doesn't happen often enough to take for granted.

Charging statuses
Ovo Charge - Schedule
Usage
Public and home charging in one place, filterable. Public users got the same view, just richer. Home users got the detailed history they'd been asking for.


Ovo Charge - Usage
Account
Kept as close to Bonnet as possible. We'd done the testing, we were confident. It landed well.
Ovo Charge - Account
This was an MVP. We knew that going in. But by getting the core experience right for both user groups, we launched on time, kept users happy, and the integration landed quietly. No crashes. Minimal customer support tickets. Sometimes that's exactly what success looks like.