Surface charging status

OVO Charge is an EV charging app for home and public charging. Smart charging automatically schedules your car to charge at the cheapest rate overnight.

When we merged the two apps we knew smart charging needed more work. The API was managed by a third party and we didn't have enough data to understand what users actually needed. We shipped what existed and made a note to come back to it.

After launch, that's exactly what we did.

Support tickets were coming in from users whose app showed the car as not plugged in when it was sitting on their home charger. Others were waking up to a car that hadn't charged enough.

In research, people had built their own workarounds. Checking their car's own app. Starting an urgent charge just in case. Looking up forums to understand why the schedule wasn't working.

They didn't trust the app.

When we dug into the API we found two problems.

The first was the data itself. The API wasn't sending live updates. You could plug your car in and the app would still show it as disconnected. The only way to see the updated status was to close and reopen the app or manually refresh. Most users didn't know that. They just saw something wrong and panicked.

The second was what we were doing with the data we did have. The backend was sending ten different statuses. Cable disconnected, cable fault, internal fault, away from home, no telemetry, unknown, and more. Each one meant something different and needed a different response from the user.

What were we showing instead? The same "plug in your EV to begin charging" message for almost all of them. A user with a cable fault was being told to plug their car in. Their car was already plugged in. No wonder they called support.

We couldn't fix the API fast enough. So we built around it. The screen now automatically refreshes every 30 seconds while the user is active on it. No closing and reopening. No guessing. The status updates itself.

The bigger problem was what we were showing. We were receiving ten statuses from the API and surfacing six. Even those six had no recovery guidance. Just a message with nowhere to go.

Now every status is mapped. When something goes wrong the user gets a timestamp so they know how fresh the data is, a plain explanation of what's happening, and a clear action to resolve it. For anything they can fix themselves we tell them exactly how. For anything they can't we direct them straight to support.

OVO Charge – New charge statuses

Ovo Charge - Device status and recovery sheet

Ovo Charge
Device status and recovery sheet

We tested with 10 users, existing Charge Anytime users and general EV owners. Users could read the status, understand what was happening, and resolve issues themselves without calling support.

One change came out of testing: 80% of users looked for a menu to switch between cars rather than swiping. We switched to a dropdown.

Support contacts for users reporting an unplugged car when it was plugged in dropped by 75%.

Ovo Charge - Multiple devices

That was the whole problem. Now they don't need to call anyone to find out why.

Copyright

Made in London

© 2026

Inter Display Font

Copyright

Made in London

© 2026

Inter Display Font