BaalKavach Book a demo
How it works

One tap on the bus.
Three people know.

The driver confirms a stop. The parent sees “picked up”. The school sees the bus is on time. Same moment, same record.

From the night before to the school gate
9:00 PMThe night before

Absences shape tomorrow's route.

Both children at Lake View are marked “not travelling”. The stop is skipped tomorrow, and the driver will see it struck through, never hidden.

7:38Driver

Tap only who isn't there.

Everyone expected counts as picked up. The driver marks the one exception and confirms the stop once.

7:39Parent + school

Kabir's mother knows in under a minute.

The school is alerted at the same moment. “He's with me” closes it; “Please check” puts the school on the phone.

7:41Parent

Leave home at 7–9 min. Not before.

A range from your own stop with a timestamp. If the bus phone goes quiet for two minutes, the ETA is hidden instead of guessed.

8:00Driver

No child left on board.

The trip can't end until the bus is checked empty. A false “dropped” is the worst thing we could ever say.

7:05
Today · Morning · 7:05 AMRoute R4
1 stop skipped tonightBoth students at Lake View are absent. Suggested route saves 6 min.
Take suggestedKeep usual
Sector 452 kids
Lake ViewSKIPPED · all absent
Civil Lines4 kids
Green Park3 kids
Rose Garden2 kids
Maple Avenue3 kids
St. Mary's School
START TRIP
7:38
Stop 4 of 9 · 3 expectedGreen ParkArrived 7:38 AM
Diya SharmaPicked up
Ishaan VermaPicked up
Kabir MehtaNot here
Riya KapoorAbsent · parent
Everyone counts as picked up.
Tap only who isn't here.
CONFIRM STOP
Bus 12 · Route R4SOS · hold 3s
7:39
Kabir was not marked boarded

The bus left his stop without him. The school has also been notified.

StopGreen Park
Time7:39 AM
Bus12 · Rajesh Kumar
He's with mePlease check
Safety alerts can't be muted or snoozed.
7:41
Updated 7:41 AM
On the way
Reaches your stop in7–9min
Bus stopped atGreen Park · 7:38
Your stop is 3 stops away
DriverRajesh Kumar · Bus 12
HomeAlertsMessagesAsk
8:00
At St. Mary's School · 8:00 AMEnd trip
3 students still on the busCheck the bus is empty before ending the trip.
Diya Sharmaon since 7:39
Rohan Guptaon since 7:43
Aarav Sainion since 7:50
REVIEW EACH
Mark all as dropped

The numbers
behind every screen.

Each limit is a rule in our code with a test on either side of it.

2minETA shown only while fresh

If the last update from the bus is older, parents see “last seen” instead of a guess.

10minApproaching alert

Parents get one nudge when the bus is 10 minutes from their stop.

10min lateFirst delay notice

Another only if the delay grows by more than 5 minutes. No drip of updates.

7minDelayed on the dashboard

The school can set this anywhere from 5 to 15 minutes.

10km/hMarking locks

Speed is smoothed over 15 seconds so a bump doesn't unlock it.

9PMAbsence cut-off

Absences in by 9 PM change tomorrow's route. Later ones are still recorded.

A full school day,
end to end.

This is the day a pilot school must be able to run before we call it working.

  1. The admin imports students, stops and routes, and confirms every stop on the map.
  2. A parent signs in with an SMS code and sees their child's card.
  3. The driver starts the morning trip, and the parent sees the bus move with an ETA.
  4. At a stop the driver marks one child absent and confirms. Parent and admin get the alert, and the admin closes it with a reason.
  5. The other children are recorded picked up, then dropped at school, and their parents are told.
  6. A parent marks tomorrow's absence, then cancels it, and the child is back on the list.
  7. The admin records an afternoon exemption, and the afternoon trip runs with no false alert.
  8. The admin sends a broadcast to one bus's parents and sees the delivery report.

Under the hood.

Three apps on one backend, with the safety rules in one place.

Parent app

Android and iPhone. Home, live journey, alerts, absences, messages, voice.

React Native · Expo
Driver app

Android and iPhone. Trip, stop sheet, safety mode and SOS.

React Native · Expo · Mapbox
School dashboard

In the browser. Live board, alerts, broadcasts, import, setup.

React · Vite · Mapbox GL
One backend holds every safety rule

Apps send marks, locations, SOS and absences to the server, which applies the rules. Live updates are read straight from the database, which itself enforces who may see what.

FastAPI · PostgreSQL (Supabase, Mumbai) · push notifications · SMS

See it run on
your own routes.

We'll set up a demo with one of your routes so your team can watch a real morning.

Book a demo →