← All work
Case StudyCase Studies

Designing EV Charging
inside MyMotor

Most case studies start at the wireframe. This one starts at a harder question: should the feature exist at all?

Role
Experience & Product Design
Type
B2C · Feature inside a super-app
Year
2025
Status
Shipped & monitored
Charger discovery Available In use
22kW60kW50kW7kW120kWAvailable now60kW · fits your car

Two questions, answered at a glance: is it free, and is it fast enough?

Scroll to read the story
01Overview

A feature, not an app

The goal was to bring EV charging into MyMotor as a feature, not as a standalone product. Every serious EV charging app on the market is exactly that: an entire application whose sole reason to exist is finding a charger and paying for a session. MyMotor was proposing something different. Charging would sit alongside everything else the app already did, one module among many, sharing space with the rest of a vehicle owner’s life.

That framing shaped every decision that followed. A standalone charging app can demand the user’s full attention and assume charging is the reason they opened the app. A feature cannot. It has to earn its place, orient a user quickly, and get out of the way. The work spanned the full arc: the initial go or no-go decision, competitive and user research, journey mapping with the product manager, the core design challenge of charger discovery on a map, the end-to-end charging flow with its edge cases, a set of supporting components, onboarding, developer handoff, and post-launch monitoring.

The rival

A standalone charging app

Its entire reason to exist is charging. It can demand full attention and assume that is why you opened it.

The brief

Charging inside MyMotor

One module among many. It has to earn its place, orient quickly, and get out of the way.

02The first question

Should this feature exist at all?

Before a single screen was sketched, the team sat with the uncomfortable first question. Not “how do we build EV charging,” but “should we build it at all, and why us?”

The skeptical case was strong. The competitors who owned EV charging in the B2C space were pure-play charging apps. That was their entire product, their entire team, their entire roadmap. MyMotor would be adding charging as one feature inside a broad app, competing on a surface where rivals were spending everything they had. It is a reasonable place to hesitate.

So the team did the unglamorous thing and listed the pros and cons out loud, weighing the business goals against the user need rather than falling in love with the idea. Several threads converged on a yes.

Doubt
pure-play rivals
0/3
reasons to build
Weigh the case for it →

The first was strategic segmentation. MyMotor served vehicle owners broadly, but EV owners were a distinct, growing, and underserved segment. Charging was the single most frequent, most emotionally charged interaction an EV owner has with their vehicle. Owning that moment meant owning a relationship with a user segment the product wanted to go deep on, rather than serve at arm’s length.

The second was retention. Charging is not a once-a-year event like renewing insurance. It is a weekly, sometimes daily, ritual. A feature a user returns to that often is a retention engine, a reason to keep the app on the home screen and open it out of habit rather than obligation. For a product that mostly handled infrequent administrative tasks, a high-frequency reason to return was valuable on its own terms.

The third was a real, unsolved experience gap. The market was full of charging apps, and it was also full of frustrated charging users. The pain was not that charging apps did not exist. The pain was that using them was tiring, fragmented, and anxiety-inducing. There was room to do it better, and doing it better inside an app users already trusted for the rest of their vehicle life was a genuine advantage, not a handicap.

The verdict was to proceed. Not because EV charging was fashionable, but because it served the business, captured a priority segment in depth, built durable retention, and answered a pain point the market had left open.

03Role & scope

One designer, a full sub-product

The work described here was led end to end by a single experience and product designer, in close partnership with the product manager and, later, the engineering and QA teams. The scope covered problem framing, competitive research, primary user research, journey and flow mapping, interaction and visual design across every screen in the module, prototyping, stakeholder presentation, developer handoff with technical and analytics annotations, and post-launch metric monitoring.

The module was not a single screen. It was a full sub-product living inside a larger app: a discovery experience, a session lifecycle, a wallet, a history, a partner network directory, an educational guide, and an onboarding journey. The challenge was to design all of it to feel like one coherent feature that still belonged to MyMotor.

The module
Discovery experienceSession lifecycleEV WalletSession historyPartner networkEducational guideOnboarding journey
The work
Problem framingCompetitive researchUser researchJourney & flow mappingInteraction & visual designPrototypingStakeholder presentationDeveloper handoffAnalytics annotationPost-launch monitoring
04Research

The market, and the human

With the decision made, the work turned to understanding the territory before touching it. This split into two distinct research efforts, one outward and one inward.

Mapping the competitive landscape

The outward effort was a systematic sweep of the existing charging apps. The designer catalogued what was in the market, what each product treated as its core, and what type of charging app each one was, because “EV charging app” is not one thing. Some were charge point operator apps tied to a single network. Some were aggregators stitching many networks together. Some were roaming or payment layers. Each type carried its own assumptions and its own failure modes.

For each, the work went past surface features into experience. What did the journey actually feel like? Where did it delight, and where did it grind? User reviews were mined not for star ratings but for the recurring emotional language underneath them, the specific frustrations people returned to again and again. Journeys were walked and mapped. The good was noted as carefully as the bad, because a case study of competitors is not about mockery, it is about learning what to keep.

Out of this came a body of insight, and insight is only useful once it is ordered. Every finding was sorted by priority: which pains were major, load-bearing frustrations that had to be solved first, and which were minor irritations that could wait for a second pass. That prioritisation, deciding what to solve now versus later, is where research stops being a document and starts being a plan.

Talking to the actual users

The inward effort was more valuable and harder to fake. MyMotor already had users who were EV owners and had added an EV to their in-app Garage. The designer called them.

Not a survey. Actual conversations. How did they come across MyMotor in the first place? How had their experience with the app been so far? Then, the real subject: how did charging feel for them today? Which apps did they use? What was the one thing those apps were missing, the thing they wished someone would just fix? These are the questions that surface the gap between what a user tolerates and what they actually want, and they only come out in a conversation where a real person is listening. Good UX research methods are not about volume, they are about reaching the underlying problem, and a handful of honest phone calls with real users often does that better than a thousand anonymous responses.

The insights from these calls were mind-mapped, cross-referenced against the competitive findings, and folded into the same prioritised picture. By the end, the designer was not staring at a blank canvas. There was a clear, ordered view of what mattered most to the people who would actually use this, and why.

Both streams cross-referenced and ordered into a single, prioritised view.

Solve first · major
Is a charger actually free right now?
Will it charge at my car's speed?
Sessions feel anxious and fragile
Charging is fragmented across networks
Solve later · minor
Pins are hard to read at a glance
No durable record of past sessions
Payment adds friction mid-session
First-timers land with no orientation

Insight is only useful once it is ordered. Deciding what to solve now versus later is where research becomes a plan.

05Journey mapping

The big picture before the screens

With research in hand, the next move was deliberately not to design a screen. It was to sit down with the product manager and map the journey, first from a broad scope, then through a deeper lens.

The broad pass asked how this module fit into MyMotor as a whole. Where did a user enter it? What was indirectly tied to it, the parts of the app that touched charging without being charging? How would the big-picture journey of the entire module read, start to finish, if you zoomed all the way out?

The deep pass went the other way, drilling into each sub-module and drawing the flows inside it. Every touchpoint was drawn out: where a user would land, what decisions they faced, what could go right, and where the journey could fork or fail. This is the layer where the shape of the product is actually decided, long before anything is visually designed. Getting the journey right with the product manager first meant every later screen had a place to live and a reason to exist.

Broad pass · the whole module, zoomed out

From the MyMotor home or the in-app Garage, an EV owner steps into the charging module.

Find a charger on the map and read its availability and speed at a glance.

Set up the session, start it, and ride out the live session, including its edge cases.

The closing arc where trust is confirmed or quietly eroded.

Returnable destinations that make the feature feel complete rather than minimal.

Tap a stage to drop from the big picture into its flow, decision forks and all.

06The core challenge

Cracking charger discovery

Every module has a moment that carries disproportionate weight. In EV charging, it is discovery: the map, the pins, the act of finding the right charger. This is where a user spends the most time and the most emotional energy. Everything else in the flow is comparatively mechanical. Discovery is where the anxiety lives, and it was the thing that had to be cracked first.

So before sketching a single variation of the map, the designer stopped and asked a more basic question, borrowed from psychology rather than interface design: what is the very first thing a user’s mind needs to know when it looks at this map?

Strip away the product and put yourself in the driver’s seat. You are low on charge, or planning ahead, and slightly on edge.

Your brain is not admiring the map. It is running a fast, anxious filter with two questions above all others. First, which charger near me is actually available right now, not occupied, not broken, available. Second, does it charge at a speed my specific vehicle can accept, fast enough to be worth stopping for. Availability and compatible speed. Everything else is secondary to those two.

That psychological insight, understanding the need beneath the want, became the design principle for the entire discovery experience. The user was not asking for more map features. They needed to answer two questions in under a few seconds and feel calmer for it. So the sketches and mid-fidelity designs for the map and the location pins were built to answer those two questions instantly, before the user even consciously formed them. The pin itself had to carry availability and speed at a glance, because that is what the mind reaches for first.

Riverside Hub
60kW charger
Free nowFits your car
The mind's first filter

Low on charge and slightly on edge, a driver's brain runs one fast filter before anything else:

1Is a charger near me free right now?
2Does it charge at a speed my car accepts?
Worth stopping for
Read a pin
60kW
  • Dot · green is free, rouge is in use
  • Number · speed your car can accept
  • Ring · the one you’re routing to

Only once that was cracked did the work move into designing and prototyping the discovery experience in full: the map, the location pins, search, filter, and the detail view that appears when a user selects a charger’s pin. Two variations were built and presented to stakeholders. One was finalised, and it became the foundation for everything downstream.

07The lifecycle

Designing the flow, part by part

With discovery settled, the flow was built in sequence, each stage picked up only after the previous one was resolved. Designing a lifecycle in order, rather than all at once, keeps each decision honest, because every screen has to hand off cleanly to the one after it.

Step one: discovery

Already described above, this was the entry point. Find a charger, understand its availability and speed at a glance, search and filter to narrow the field, and open a selected charger’s details to commit. The finalised variation carried the whole module’s tone.

Step two: initialising the session

Once a user chose a station, the flow moved into setup. Here the user tells the app three things in sequence: which gun, or connector, they have physically plugged into their car, which vehicle they are charging, and how much they want to charge for, whether measured in units or in amount. Each of these is a small decision, and each was designed to be unambiguous, because a mistake here means charging the wrong car, the wrong way, for the wrong amount.

Step three: the active session

Next came beginning the charge and the live, active session experience. This is the anxious middle, where the user has committed and now waits. It was designed for both the normal path and its edge cases, because charging hardware fails in ways software rarely does. A gun that will not lock, a session that will not start, a connection that drops, a charger that reports a fault mid-session. The normal case is easy to design. The value was in mapping and handling the cases where the real world does not cooperate.

Step four: after the session

When charging completes, the experience does not just stop. The designer worked through the closing arc: the session summary, the invoice, the email template that lands in the user’s inbox, and the collection of feedback on the session that just happened. This closing moment is where trust is either confirmed or quietly eroded, so it was treated as a first-class part of the flow rather than an afterthought.

Discovery

Find & commit
The normal path
  1. 01Find a charger on the map
  2. 02Read availability and speed at a glance
  3. 03Search and filter to narrow the field
  4. 04Open a pin's detail
  5. 05Commit to a charger
When reality doesn’t cooperate
  • Pin turns out occupied or faulty → straight back to the map

The normal case is easy to design. The value lived in the sessions that stalled, faulted, or dropped.

08Supporting components

What makes a feature feel finished

Beyond the linear charging flow, the module contained several components that lived as their own destinations inside it. Each was designed as a self-contained piece that still belonged to the whole.

01

EV Wallet

Add and top up money held inside the app, so a session can be paid for without friction at the moment of charging.

02

Session History

The summaries of active and past charging sessions, a durable record users can return to.

03

Our Network

The partnered charge point operator networks, names and logos, so users understand the coverage behind the feature.

04

Pin anatomy guide

A guide that teaches users how to read the pins, turning dense information into something legible rather than cryptic.

These are the components that make a feature feel complete rather than minimal. A charging flow without a wallet, a history, and a way to understand the network is technically functional and practically frustrating.

09Onboarding

Introducing the feature

A feature this large, dropped into an existing app, cannot simply appear. It has to be introduced.

The designer added an opening animation that plays when the feature is launched, giving the module a sense of arrival and identity within MyMotor. For first-time users, a four-slide onboarding journey explained the feature end to end, orienting someone who had never charged through the app before they were dropped into a live map with anxiety already running. The goal was for a first-time user to understand what this was and how it worked before they needed it, not during the stressful moment when they were low on charge and learning the interface for the first time.

01
02
03
04

A four-slide journey, so a first-timer understands the feature before they ever need it.

10Handoff

Design that survives production

Design that never ships is just art. Getting this to production meant a rigorous handoff, and the handoff itself was designed.

First came review. The full module was walked through with product, tech, and stakeholders together, and only after that go-ahead did the handoff work begin. Waiting for alignment before annotating everything avoided annotating things that were about to change.

Then the designs were prepared for engineering with genuine care. Technical and QA notes were added throughout. Elements were annotated so that the developers, and the tools they use to accelerate their work, could pick up intent without guessing. Crucially, the analytics events that needed to be captured were annotated directly in the design: screen names, button clicks, and the other events the team would later need to understand how the feature performed in the wild. Designing the measurement into the handoff, rather than bolting it on after launch, is what made the post-launch monitoring possible at all.

Finally, the work was broken into JIRA tickets covering everything designed, with the relevant Figma design link attached to each task and sub-task, so no engineer ever had to hunt for the source of truth. This kind of close, legible collaboration between the designer, the product manager, and engineers is usually the difference between a design that ships as intended and one that quietly degrades on the way to production. With the tickets prepared and linked, the designs were handed to the developers.

11Post-launch

The work that starts at ship

For many teams, launch is the finish line. Here it was the start of a different phase.

Because the analytics events had been designed into the feature from the handoff, the funnels and conversion metrics were legible from day one. After the feature went live, the designer monitored them regularly, watching where users flowed smoothly and where they hesitated or dropped. The point of watching was action: identifying, on an ongoing basis, what was breaking in the real experience and solving it one issue at a time, then going further still. A shipped feature is a hypothesis meeting reality, and the reality of charging, with its dependence on physical hardware across many partner networks, was never going to be fully predictable from a prototype.

The instrumented funnel

Analytics events were annotated into the design at handoff, so the funnel was legible from day one.

map_viewedLogged when the discovery map opens.

Illustrative shape. Because this shipped in a live product, the specific numbers stay qualitative.

A weekly ritual

A high-frequency reason for the highest-priority segment, EV owners, to return, turning infrequent admin into habit.

Two questions, answered

Built around availability and compatible speed, the anxiety the market's existing apps had left unresolved.

One coherent module

Shipped complete, with the wallet, history, network directory, and onboarding that make a feature feel finished.

The loop, closed

Measurement designed in from the start meant improving against real behaviour rather than opinion.

12Impact

The shape of the outcome

Because this feature launched inside a live commercial product, the specific numbers stay qualitative here, but the shape of the outcome is clear.

MyMotor gained a genuine reason for its highest-priority segment, EV owners, to return frequently, converting an app of infrequent administrative tasks into one with a weekly, habit-forming ritual at its core. The charging experience was built around the two questions a driver’s mind actually asks, availability and compatible speed, which is precisely the anxiety the market’s existing apps had left unresolved. The feature shipped as a coherent module, complete with the wallet, history, network directory, and onboarding that make a feature feel finished rather than minimal. And because measurement was designed in from the start, the team could keep improving it against real behaviour rather than opinion, closing the loop between what was designed and what users actually did.

13Reflections

What this project reinforced

Several lessons ran through the whole project and are worth naming on their own.

01

Start with “should we,” not “how.”

The most important design decision was made before any design happened. Interrogating whether the feature deserved to exist, and being honest about MyMotor’s real advantage of context over a standalone competitor, set the direction for everything after it.

02

Research is only useful once it is prioritised.

Gathering competitor insights and user frustrations was half the job. Ordering them into major pains to solve first and minor ones to solve later is what turned a pile of findings into a plan.

03

Design the moment that carries the most weight first.

Discovery was where the user’s time and anxiety concentrated, so it was cracked before anything downstream. Anchoring it in the psychology of what the mind checks first, availability and compatible speed, meant the map was engineered around a real need rather than decorated.

04

Edge cases are the feature.

In a flow that depends on physical hardware across many networks, the normal path is the easy part. The design value lived in the sessions that stalled, faulted, or dropped, and in handling them with grace.

05

Design the handoff and the measurement, not just the screens.

Annotating technical notes, analytics events, and JIRA tickets with linked Figma files is what let the design survive contact with engineering, and what made post-launch improvement possible instead of guesswork.

06

Ship is the middle, not the end.

Watching the funnels and fixing what broke, one issue at a time, was treated as part of the design work, because a feature that depends on the real world is never finished at launch.

14Conclusion

The reasoning that produced the screens

The EV charging module inside MyMotor is, on the surface, a map, a few pins, a payment flow, and a receipt. Underneath, it is the result of refusing to skip the hard questions: whether the feature should exist, who it was really for, what those users’ minds were actually doing when they opened the map, and how the whole thing would be measured and improved once it met reality.

That is the throughline of the work. Not the screens, but the reasoning that produced them, in service of the human experience of a slightly anxious driver trying to answer two simple questions before their battery runs low. A dedicated charging app could out-feature this module any day. What it could not do was make charging feel like a natural part of a life the user already managed in one place. That was the point, and that was the design.

Key takeaways
  • 01

    The feature earned its place through context, not features. MyMotor could not out-build a standalone charging app, so it competed where it was strong: the user was already there and already trusted the product.

  • 02

    The go or no-go decision was the first design act. Pros, cons, segment strategy, retention, and a real market gap were weighed before any screen existed.

  • 03

    Two research efforts, one prioritised picture. Competitive analysis and direct calls with real EV-owning users were merged and ordered into major versus minor pains.

  • 04

    Discovery was designed around psychology. Availability and compatible charging speed are the two questions a driver’s mind asks first, so the map and pins were built to answer them at a glance.

  • 05

    The lifecycle was built stage by stage, edge cases included. Discovery, session setup, active charging, and post-session were each resolved in order, with real-world failures treated as core.

  • 06

    Handoff and measurement were designed deliberately. Technical notes, analytics events, and linked JIRA tickets made the design survive production and improve after launch.

Like the way I think through a problem?