⟵ work ⟶ now · Client work

I built the website, customer app and dispatch tools for a cooperative of thirteen taxi drivers. The system keeps their shared Google Calendar at the centre and connects bookings, driver assignments and flight updates via airport API integrations, resulting in an service that customers prefer over Uber.

Login screen + 3rd party login
Login screen + 3rd party login
Quick reservation buttons
Quick reservation buttons
Reservation form same on app and site
Reservation form same on app and site
Confirmation, options to change and cancel
Confirmation, options to change and cancel
Multiple addresses management
Multiple addresses management
Contact
Contact

6 images — swipe or scroll sideways

I have been Taxi Haarlem Service’s sole developer since 2021. The cooperative mainly takes people between Haarlem and Schiphol. Over five years, the work grew from a website into the software customers use to book and the planner uses to organise the day.

Built around the apps every driver was used to

The company already ran on a shared Google Calendar. The planner used it to manage reservations, and drivers checked it on their phones. Keeping it was a requirement.

I built around that workflow. Assigning a driver means inviting their account to the calendar event; accepting the invitation acknowledges the ride. The dispatch board combines that information with reservations and shift schedules, helping the planner see who is available and distribute several rides at once.

The board offers a list, map and timeline. Its map can replay a day so the planner can inspect gaps between rides. Cached data keeps the last known schedule available without a connection.

Let flight changes reach the driver

The majority of fares are for their majority of businesspeople customers, going back and forth between Haarlem area and Schiphol airport.

A background service checks Schiphol’s flight information and updates airport pickups when arrival times change. It adds details such as the gate and baggage belt to the event. A cancelled flight is flagged for attention; the reservation remains for the planner to follow up.

Dispatch dashboard agenda
Dispatch dashboard agenda
Available hours
Available hours
Itinerary map
Itinerary map
Periodic totals. Numbers are hidden
Periodic totals. Numbers are hidden
Reservation management
Reservation management
Search
Search

6 images — swipe or scroll sideways

Show the price while someone books

The website, customer app and partner versions share one booking form. It calculates the fare as the route is entered, applies the cooperative’s town and vehicle tariffs, and accounts for luggage that requires a larger car. Customers can manage their reservations through the app.