PakPlug, a peer-to-peer charging marketplace · Founding product designer · 2025–2026
Case Study · EV charging
PakPlug, a peer-to-peer charging marketplace.
Drivers book a private charger nearby, by the hour. Hosts set a price and open hours once, and every booking confirms itself.
Overview
I audited version 1 against its own code, then I redesigned every driver screen on Apple’s iOS 27 kit. The behaviour stayed; the labels, statuses and visual system changed.
Tools
- Figma
- Flutter
- TestFlight
- Role
- Founding product designer
- Year
- 2025 · redesign 2026
- Status
- Android live · iOS in progress
- Scope
- Driver appDesign systemResearch
- 0approvals to wait for: bookings confirm themselves
- 9driver flows redesigned, sign-in to messages
- More than 400 screens, with every loading, empty and error state
Problem
Away from home, a charger nearby is a gamble.
Context: 17M+ electric cars were sold in 2024 and 1.3M public chargers were added; home is still where most owners charge. Source: IEA, Global EV Outlook 2025.
Private chargers are the other half: already installed, and idle most of the day.
The bet
Share the chargers that already exist.
Unlock that idle supply with a peer-to-peer marketplace, instead of waiting on infrastructure.
- DriverDemandNeeds a charger nearby, at a known price, for a set time.
- PakPlugThe bookingMatch · Price · Confirm · Session · Receipt
- HostSupplyHas an idle charger, a price in mind, and hours it's free.
In my IEEE paper’s simulation, a pool of 30 shared chargers could serve about 100–150 drivers a day.
My role
Driver app
Every driver screen, from sign-in to the receipt, on Apple’s iOS 27 kit.
Design system
Tokens, 20 text styles and 27 component groups, with the original P and emerald kept.
Research
Research with EV owners and hosts, and the IEEE ITEC Asia-Pacific 2025 paper on the platform.
Process
- 01 · Logic mapEvery screen, state and string, read from the code.
I mapped the live app first.
Every driver screen, its states and its copy came out of the code into one logic map. The redesign changes how things read, never what happens.
- 02 · DirectionsFive takes on booking, then four for the whole app.
Five versions, then four directions.
Each direction had its Mobbin references. Two won: discovery that works like Apple Maps, and bookings as Wallet-style passes.
- 03 · SystemThe P and the emerald kept. The rest rebuilt.
Built on Apple’s own kit.
Glass on the controls, frosted cards for content, SF Pro and SF Symbols. Every colour is a token, and contrast was measured on the mesh.
- 04 · FlowsNine flows, every state, checked against the map.
The states nobody screenshots.
Each flow covers its loading, empty and error states and its iOS prompts, and ends on a logic check against the map.
Findings
Going through the live app screen by screen, and against its code, turned up four problems.
Labels that misled
The charging panel said “to full”, but its timer counted down the booking, not the battery.
Statuses that disagreed
A booking’s detail could say “Upcoming” while the list said “Expired”, and paused bookings fell into no tab at all.
Numbers that weren’t real
Range added was hard-coded at “+92”, and a missing battery level quietly became 40%.
Icons that didn’t tell plugs apart
Both connectors wore the same bolt, and Type 2 and CCS were the same ring of dots.
How might we
How might we make booking someone’s home charger feel as certain as a ticket in Wallet?
Solution
A booking that ends as a pass you can trust at a glance.
Answers finding 01: Labels that misled
Every label says what the number is
The live screen reads “Left in your slot 28:00” and “Ends 7:00 PM”, because that is what the timer counts.
The flowsAnswers finding 02: Statuses that disagreed
One status, one pill, one tab
Every status in the code maps to one pill and one tab, so the pass, the list and the detail always agree.
The partsAnswers finding 03: Numbers that weren’t real
Only numbers the app knows
Estimates are marked as estimates, like “≈26% est.”, and when the battery level is missing, the screen says so.
The flowsAnswers finding 04: Icons that didn’t tell plugs apart
Apple’s own parts
Glass on the controls, frosted cards for content, SF Pro, and Apple’s SF Symbols, including its EV plugs.
The parts
The flows
Search, book, charge.
Three flows take a driver from a search to a receipt. Each one plays the designed screens in order, tap by tap.
01 · Search
Find a charger
Search a place, tap a price on the map, open the station.
02 · Book
Book a slot
Pick the window, confirm once, and the booking becomes a pass.
03 · Charge
Charge
Scan, slide to start, and watch it live, even with the phone locked.
The parts
Four components carry the flows.
Built once, with every state, and reused across the app. They play one by one; point at one to play it now.They play one by one.
- Station card
- Charging Pass
- Time window
- Slide to start
The takeaway
Map the logic first, then redesign.
Starting from the code kept every behaviour drivers rely on, and showed what the old screens got wrong.
- The app’s code
- One logic map
- 400+ screens
Every screen was checked against that map, state by state.
Impact
Version 1 is live on Google Play.
- StatusLive on Google PlayVersion 1, for Android.
- PaperIEEE ITEC Asia-Pacific 2025In its simulation, smart pricing cut peak congestion by 15–20%.
Next steps
What the redesign sets up.
Ship the iOS app
In progress. The redesign was made for it, on Apple’s iOS 27 kit.
Redesign the host side
Listing a charger, setting a price and hours, and getting paid, in the same system. The first host flow is drawn.
Go native where it counts
The Lock Screen Live Activity and Add to Apple Wallet need native iOS work: ActivityKit and PassKit.
Dark mode and Android
The tokens are ready for dark mode, and each component gets a Material version for Android.
Go deeper
The system and version 1, for anyone who wants them.
The systemThe P and the emerald kept. Everything else rebuilt.
Three mesh grounds, frosted and glass materials, and contrast measured on the render.
Version 1Where the redesign started.
Version 1’s driver screens, as this case study showed them before the redesign.
Want the 20-minute walkthrough of the redesign in Figma? Email me.
TestFlight