Case Study

School Transport App

School transport, tracked end to end. Drivers scan QR badges at pickup and dropoff, GPS follows the bus in real time, and parents watch their child's journey live. Every passage becomes a verifiable record.

Type

Mobile App / iOS & Android + Web

Client

School transport operator (FR)

Timeline

6 weeks, idea to delivery

Scope

Design + Mobile + Web + Deploy

Driver QR scanning screen and parent live-tracking map, side by side

Problem

A local school transport company ran its daily rounds on paper lists and phone calls. Every morning, parents handed over their children with no way to know where the bus was or whether their child had made it on board.

No reliable record of who got on the bus, or when

Between the front door and the school gate, parents heard nothing, so every worry became a phone call

Routes and absences existed only in the driver's head

Big fleet software was too expensive and too complicated for a small operation

Design

One App, Three Views

Drivers, parents, and the office all open the same app, but each sees only what matters to them: the driver gets the day's route, parents see their child, the office sees everything.

Made for the Sidewalk

Check-in happens outside, with a line of kids waiting. Every scan confirms with a buzz and a sound so the driver can keep their eyes on the children, and a worn badge can simply be typed in by hand.

Calm for Parents

One clear status (waiting, on board, dropped off), a live map, and a single notification at each step. Enough to feel reassured without being flooded.

Your Spreadsheets Still Work

The operator already kept the student list in Google Sheets. The app imports it directly, so nobody had to change how they work.

Key Features

A Badge Scan at Every Step

Every child carries a QR badge. The driver scans it as they board and again as they get off, so each step of the trip is on record.

Arrival Logs Itself

As soon as the bus comes within 100 m of the school, arrival at school logs itself. The driver never has to think about the last step of the run.

A Live Map for Parents

Parents see where the bus is and their child's status in real time, with a notification at each step of the way.

Tracking That Doesn't Give Up

The bus shares its position every 30 seconds, even if the driver's phone restarts mid-route.

Nothing Lost in a Dead Zone

Scans and positions wait on the phone and send themselves as soon as the signal returns, so nothing is lost when the bus drives through a dead zone.

An Office That Sees Everything

The office follows check-ins live, plans the week's routes by drag and drop, prints badges in batches, and exports the full history.

How It's Built

It's a single app that runs on both iPhone and Android, plus a web dashboard for the office. Behind it, everything runs on managed services from Google and Firebase, and the student list imports straight from Google Sheets. There are no servers to look after: the whole system runs for about $25 a month with nothing to maintain.

Under the Hood

Tracking that survives anything

Close the app or restart the phone: tracking picks itself back up without the driver doing a thing.

A memory at the school gate

The automatic arrival log knows it has already fired today, so a slow loop around the block never records two arrivals.

Data that waits its turn

Every scan and position saves to the phone first, then sends when the network comes back. The record stays complete even on a poorly covered route.

What We Learned

Proof reassures more than the map

The live map gets the attention, but what mattered most to the client was the reliable record of every pickup and dropoff. That record is what protects everyone on the day something goes wrong.

A bus always loses signal

Any product used in a moving vehicle will drop off the network at the worst moment. Planning for offline from day one was essential.

Work in the client's tools

The operator's favorite feature was the one that let them keep their spreadsheet. Sometimes the best tool is the one people already know.

Next step

Have a product to build?

Start a project→