Thai Honda · GridWhiz · 2023 · Shipped
A full battery in under a minute.
Honda Swap Station is Thai Honda’s battery-swap service for electric motorbikes — a rider app, cabinet firmware, a public website and an operator back office, designed as one system.


One swap, four screens.
The rider touches two of them — the phone and the cabinet. Behind those, a website sells the service and a back office keeps every cabinet honest. All four run off the same state.

Rider app
find · confirm · pay

Cabinet firmware
the screen on the machine

Website
the public face

Back office
operators & fleet health
─── one synced state underneath all four ───
the moment it broke
The battery is heavy. The app didn’t care.
A swap puts a phone in one hand and a heavy pack in the other — and the flow still asked for taps after the cabinet door opened. It demanded attention at the exact moment the rider had none left to give.
how I think — the process
Five moves, start to finish.
Stood at live cabinets around Bangkok — no script, real swaps, watching riders' hands fill up.
→ field notes
Named the real problem: not how many steps, but when they landed — after the door, with no free hand.
→ the insight
Mapped every screen of the swap on one timeline, then moved confirm, pay and slot in front of the lift.
→ the flow map, below
One synced state and oversized Thai across app, cabinet firmware, website and back office.
→ 4 surfaces, one system
Every unhappy path resolves at the cabinet with no support call — and Honda confirmed field problems dropped.
→ 50+ cabinets live
I stood at the cabinets and watched.
No lab, no script — real riders, real swaps, at live cabinets around Bangkok. The friction always showed itself at the same moment.
Riders parked, opened the door — and only then did the app want decisions.
One hand on the phone, one on the pack: every extra tap meant putting something down.
It was never how many steps. It was when they landed.
the one call that fixed it
Finish the phone before the lift.
Same steps, new order: confirm, pay and slot all moved in front of the door opening. From the lift onward the cabinet’s own screen leads, and the phone goes back in the pocket.
“Eyes on the hardware, not the handset.”
Every tap used to land after the door opened — decided with a heavy pack in one hand.
The minute, screen by screen.
the shipped UI, in swap orderon the phone — before the door

Open the app — pack status up top

Find a cabinet with packs ready

Check the station before riding

Arrive and scan the cabinet

Confirm the swap — door still closed
at the cabinet — hands free for the packs

The cabinet picks the session up

Return the low pack

Take the fresh one from the lit slot

The cabinet does the rest

Done — ride on
Designed for sun, gloves and full hands.

Readable at arm's length
Oversized Thai on every cabinet screen — legible in full sun, standing back, gloves on.

One state, two screens
App and cabinet firmware run off one synced state — what the phone promises, the cabinet honours.

Unhappy paths end at the cabinet
Wrong slot, timeout, cancel — every failure resolves on the spot, with no support call.
what shipped
50+ cabinets, live across Bangkok.
Deployed across the metro and its suburbs by 2023, aimed at delivery riders and taxis where time is money. Honda confirmed field problems dropped after the fixes.

the live map, today
What the minute taught me.
What I learned
A flow's rhythm matters as much as its steps — the same actions, re-ordered, decided whether a rider ever felt stuck.
If I started over
Prototype the unhappy paths first — wrong slot, timeout, cancel — that's where field trust is won or lost.
What I'm proud of
The unhappy paths resolve at the cabinet without anyone ever calling support.
✎ drafted from the project — mine to confirm
