A match depends on the route and timing
My starting assumption was that riders need to compare origin, destination, departure time, route overlap, available seats and expected arrival together.
Mobile product UX
I designed and prototyped a carpool app concept for Android and iOS, covering Toronto-area trips from finding a route to requesting a seat and arranging pickup.

I started with three questions a rider would need to answer: where is the car going, when does it leave, and can I reach the pickup point?
I connected trip discovery, seat requests and pickup coordination in a mobile prototype. The concept still needs testing with drivers and riders.
Evidence class
Hypothesis
Concept evidence is based on product flows and implementation feasibility; live usage has not yet been measured.
My starting assumption was that riders need to compare origin, destination, departure time, route overlap, available seats and expected arrival together.
I focused the first version on route fit, timing, cost sharing and pickup information. Whether those details give riders enough confidence to send a request remains a question for testing.
I limited the concept to a smaller set of recognizable routes. This gives an initial study a manageable scope while the challenge of attracting enough matching trips remains unresolved.
Prototype model
Browse trips by origin, destination, date, departure window, and pickup zone.
Review available seats, route fit, timing, cost sharing, and driver details before requesting a ride.
The driver accepts or declines the request. After acceptance, the trip room holds chat and status updates.
Exact pickup details appear after acceptance. Cancellation and expired-trip states still need testing.
Implemented concept UI
These states are implemented interface decisions, not production usage evidence. The tabs make the request, acceptance, and disclosure sequence inspectable without a misleading dashboard screenshot.
State 01
The first screen groups the origin, destination, date, departure window, and pickup zone so riders can review them together.
Next action: Inspect trip
State 02
Before sending a request, riders can review the driver, route fit, timing, and cost sharing.
Next action: Send request
State 03
After the driver accepts, the trip room shows chat, status updates, and a confirmed pickup point.
Next action: Open coordination
The discovery screen brings origin, destination, departure time, pickup zone and available seats together. Testing needs to establish whether that is enough to judge a trip.
A pickup zone gives riders an approximate location while keeping the exact address private until acceptance. The tradeoff is uncertainty about walking distance before committing.
A seat request is not yet a confirmed ride. The flow needs to distinguish pending, accepted and cancelled states and keep messages attached to the trip.
I grouped ride offers, requests, chat, and pickup zones under the shared trip they belong to.
The trip list supports browsing. A separate request screen adds the details a rider needs before asking for a seat.
The prototype uses cards, actions at the bottom of the screen, status chips, and detail views that open as needed.
Listings show the origin, destination, timing, and upcoming trip dates before riders compare seats or send a request.

Shared-trip context
Illustrative shared-ride scene. This image is not a product screen or evidence of user research.
I show a general pickup zone before acceptance and reveal the exact point afterward. This limits early exposure but may leave riders uncertain about walking distance. A usability study should test whether the zone gives enough information to request a seat.
After acceptance, the trip room brings chat, seat status and updates together. A useful test would ask riders to find the latest pickup plan after a driver changes it, including whether cancellation remains clear.
Drivers offer seats and manage requests. Riders find a suitable trip and request a place. Each role has its own set of actions.
I checked the prototype through the full sequence, from creating a trip and offering seats to accepting a request and coordinating pickup.
I checked where pickup details appeared in the flow and used acceptance as the point at which the exact address becomes available.
Building with SvelteKit and Capacitor let me check the mobile layouts and interactions in a working prototype.
A prototype for testing the ride flow.
A study can ask drivers and riders to find a suitable Toronto-area trip by route and departure time.
The flow moves from a general pickup zone to an exact location after acceptance.
The cards and request states provide a prototype for testing whether riders understand the route, seat status, and pickup sequence.
Showing a general pickup zone protects the exact address, but it also asks riders to decide with incomplete information. I would test whether that tradeoff works before expanding the concept.
The next step would be field testing the request and acceptance flow with drivers and riders, including the language around pickup zones, cost sharing and trip etiquette.
Next: Pario Engineering WebsiteNext step
I’m a UI/UX & Web Designer. I design and build responsive websites and internal interfaces for insurance and B2B software teams.