Skip to content

GoWheels - Multi-Role Mobility

Product Designer & Developer, Solo Intern, End-to-End

Malaysian travel agencies were accountable for a group trip the moment it was booked, but once it started, they were blind. Updates moved through a manual call chain that ate hours and still missed people. I designed a unified system across four roles, passenger, agency, driver, guide, built on one shared data layer, with trip-scoped group chat replacing private WhatsApp threads and guided vehicle allocation replacing manual cross-referencing. Design signed off with no major rework requested. Launch is on hold on a client payment gateway decision outside the design scope.

solointernend-to-endmulti-role systemmobilitymalaysiaweb dashboardmobile app

Blind mid-trip

GoWheels dashboard, driver app, and trip chat shown across three screens

An agency took full responsibility for a group trip the second a booking was confirmed. Once the trip actually left, that responsibility went blind. No system showed trip status, itinerary progress, or where the crew was. Every update travelled through a manual call chain, agency calls driver, driver calls guide, guide updates passengers, repeated across every trip running at once.

The visible symptom was wasted hours and missed updates. The real problem sat underneath it. Every role was working off its own version of the truth, updated at its own pace, with nothing connecting them.

Filter, then choose

Assigning a vehicle, driver, and guide to a trip meant manually cross-referencing capacity, license type, and compliance rules. High cognitive load, and violations that surfaced mid-trip when nothing could be fixed. I rejected full automation, since exceptions like exemption letters need a human call. I rejected staying fully manual too, since that just kept the same overload. The system now filters down to eligible options before an admin sees them. The admin picks from that shortlist.

Worth saying plainly. What shipped in Phase 1 is fully manual selection, without this filtering logic. Time and budget cut it. The guided version is designed and documented, not yet built.

One shared thread

Trip-scoped group chat with agency, driver, guide, and passenger in one thread

Once a trip departed, updates moved through phone calls and personal WhatsApp threads, fragmented, private, and visible to no one but the two people on the call. I considered one-to-one chats between users and rejected it, since a private thread just rebuilds the same siloed problem. Every trip gets one shared channel instead. Agency, driver, guide, and passenger read the same thread, tied to that trip's ID.

One shared truth

Separate apps connected by an API looked like the cheaper option given the budget. I rejected it. Every API exchange is a place for the data to drift out of sync, which is exactly how a driver ends up at a location an admin already changed. A single system with one shared data layer removes that failure by construction, instead of trying to sync it away after the fact.

What shipped

Stakeholders reviewed and signed off the design with no major rework requested. GoWheels hasn't gone live. Rollout is on hold on a payment gateway decision the client hasn't finalized, which sits outside what I designed.

Approval tells me the design made sense on paper. It doesn't tell me whether the trip chat actually cuts WhatsApp reliance once people are mid-trip and under pressure, or whether manual verification holds up at higher volume. I've never seen this used by a real agency, driver, or guide under real conditions.

What I'd check

01The passenger booking flow was modeled on Indian ride-hailing apps, Uber, Rapido, Namma Yatri, on the assumption Malaysian behavior would match. Trust norms and payment preference were never checked against real Malaysian users.
02Vehicles used for public group transport in Malaysia need certifications beyond driver licensing, color coding, safety certificates, transport permits. The design assumed agencies handle this themselves. Whether GoWheels needs to verify it the way it verifies driver licenses was never confirmed.
03The design assumed agencies bring their own drivers and guides, with GoWheels as overflow. Whether that's how agencies actually work, versus most drivers registering independently, was never checked with a real agency partner.
04No mechanism exists to help a brand-new agency land its first trip, and every agency starts new on day one. The proposed fix pairs a verified badge from regulatory checks with incorporation date as an experience signal.