Most products in this category answer "Where is the bus?" Repeated irrelevant alerts had trained me to swipe those answers away, and public reviews indicated similar trust problems. GHANTI is a child-first tracking concept built on one rule: a signal is sent only when it is true for this child, this parent, this moment. It also introduces a signal none of the nine audited products documented: the bus left, but your child wasn't confirmed aboard.
"The app tracks the bus.
But I'm not raising a bus."
I am the user of this product category. My child rides a school bus tracked by a third-party app, and every notification was about the vehicle: it fires on holidays, during bandhs, on days my child is home on leave — and it said nothing the day it mattered. In my routine, repeated irrelevant alerts had trained me to ignore a channel that should have carried the highest-stakes information. That observation became this product.
"Where is the bus?" was never the parent's question — it's the sensor's answer. The parent's real questions are about the child, the day, and the walk to the stop. India runs on shared drop points, not doorstep drops: timing that walk is the highest-frequency job, and none of the audited products served it directly.
Primary research was autoethnographic — I logged my own daily use of a live tracking app as structured pain points. Then a desk audit: nine competitor products, every capability claim verified against vendor pages and store listings, and — more importantly — against documented field behavior. The gap between the two is the insight.
Six insights came out of synthesis. The three that carry the product: parents ignore the app that watches their child (noise has burned the channel), the app makes the parent do the math (a live dot is a question, not an answer), and when blind, it pretends to see (GPS drops produce frozen dots, not honesty — parents discover the lie at the roadside).
I audited nine products against the capabilities that matter to a parent — every cell verified from the vendor's own pages, official store listings, or documented user reviews. Proximity alerts exist (fixed radius). ETA exists (bus-level). RFID boarding exists (hardware add-ons). Nobody wires them into a pipeline gated on the child. The green rows are GHANTI's territory — no competitor documents a single one.
| Capability | Chakraview | SkoolBeep | VersionX | myskoolbus | Tracko | SafeBus | Dhundhoo | GHANTI |
|---|---|---|---|---|---|---|---|---|
| Live map tracking | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | route-aware not a raw dot |
| Proximity alert fixed radius or stop-based, vendor-set | — | ✓ 1–2 km | ✓ | ✓ 5 min | ✓ | ✓ | ✓ | ● |
| ETA shown bus-level, straight-line | — | — | — | — | — | ✓ | ✓ | ● |
| Route + ordered stops visible | ± | ± | — | — | ✓ | ✓ | ± | ● |
| Boarding detection RFID / NFC / attendant | ✓ | ± fleet tier | ✓ | ± claimed | ✓ | ✓ | ✓ | ● multi-signal |
| Custom proximity alarm parent-set, in stops or minutes | — | — | — | — | — | — | — | ● |
| Route-aware ETA "N stops before yours", detours + dwell time | — | — | — | — | — | — | — | ● |
| "Bus left — child NOT aboard" alert | — | — | — | ± marketing claim | — | — | — | ● |
| Context-aware notification control holiday, closure, leave → designed silence | — | — | — | — | — | ± leave gates driver only | — | ● |
| Honest degraded state admits GPS loss; no frozen or backdated dots | — | — | — | — | — | — | — | ● |
Two more audited (eTechTracker, Track School Bus) fell out of the matrix on basics: broken login per reviews, stale updates — and one ships a child-location app whose store label reads "data isn't encrypted." Field behavior gap documented in Research above; full source log in the walkthrough.
Both personas are built from my own household and the parents at a shared drop point (small n — treated as proto-personas, not validated archetypes) — composites, not fabrications, and flagged as such in the assumption register. The child is deliberately not a persona: Aarav is the subject of every signal, but the phone in hand belongs to a parent.
Each one is a direct answer to a research insight — and each one costs something. A principle that costs nothing decides nothing.
GHANTI inverts the category's architecture. Competitors broadcast vehicle state and let parents filter; GHANTI filters first and treats silence as a designed state. Different signals fire on different rules — not every notification passes through the same conditions. Three inputs govern what each signal knows: context, timing, and presence. One honesty layer sits above all of them.
The IA is deliberately shallow — a parent mid-walk gets one thumb and three seconds. Everything orbits Today, where the live map lives; the other three tabs exist so Today can stay almost empty.
Mapped from my own mornings before designing a single screen. The old-world emotional line dips at the same two points every day: the guess (when do I leave?) and the gap (did he actually board?). GHANTI exists to flatten exactly those two dips.
Two flows define GHANTI. The morning flow shows how context, timing and presence govern different moments; the exception flow shows why presence had to come first in the architecture — without it, the "not aboard" alert is undetectable.
Three layouts for Today, evaluated against one scenario: it's 7:38, the parent has one thumb free and three seconds. The map — every competitor's hero — lost immediately. A map is a question; the parent needed an answer.
Four screens carry the product. Every layout decision below is a constraint, not a preference: one primary action per screen, a single answer above the fold, and nothing critical communicated by colour alone.
A parent walking to a stop on an Indian street is holding a bag, a child's hand, or both — screen-first design fails them. So the signal layer is designed for ears and skin first, screen second: each signal type gets its own tone and haptic pattern, and the walk tone encodes proximity in its tempo. You learn the language in a week and stop looking at the phone.
Tone design would be validated with parents before build — the tempo mapping and the burst pattern are hypotheses, not proven audio ergonomics. Every tone is also user-testable against the one question that matters: can you tell them apart without looking?
Thirteen screens across four flows, assembled from a component library built on themeable variables. What follows is the final prototype — assembled from a component library, not drawn screen by screen.
My first version demoted the map a tap deeper. That was wrong — and fixing it made the argument stronger.
The research said a raw dot with straight-line distance lies. I over-read that as "hide the map," which threw away the one thing parents open the app for. The real fix was to keep the map primary and repair what was broken about it: draw the actual route, make the detour visible, and put the answer on top of it. The dashed ghost line on the screen above is that whole argument in one detail — the lie and the truth, side by side.
The screens run as a prototype, not a gallery: sheet drags smart-animate between states, screens push, tabs dissolve, and loading advances on its own timer.
Thirteen screens, twelve components, 34 colour tokens across four theme modes, and four flows wired end to end. The file opens on a START HERE banner; each flow sits in its own labelled section, and the prototype runs from the ▶ button inside Figma.
The eight pain points from my audit and personal experience, traced to the exact mechanism that answers them and where it lives in the design. Traceability is the case study — if a pain has no answer, it says so.
A concept is only as honest as its assumption register. Nothing here is silently assumed — each open item is the first research task of a live pilot, not a footnote.
Not part of the argument — the file underneath it. Included because the screens above were assembled from a system, not drawn one by one.
Nothing is named for what it looks like. A token is called alert/soft-bg, never red-50 — so a palette can change without every name in the file becoming a lie. All 34 live in four theme modes; the screens hold no hex at all.
Four theme modes, one file. Warm paper is the default; a cool-slate alternate proves the swap works; two slots stay open. Contrast is re-verified per palette — §12's AA/AAA thresholds are a test, not a claim.
Fraunces carries the answer — the one thing a parent reads at a glance. Work Sans carries explanation, because it stays legible small and at speed. DM Mono carries system truth — times, sources, tone labels — so machine-reported facts never wear the same clothes as human sentences.
17px base, not 15. Set for a grandparent at a stop in sunlight, not for a portfolio screenshot — and the whole ramp honours system font scaling to 200%, so it grows with the reader's own setting rather than resisting it.
Four prototyped flows available in the Figma file, wired end-to-end from the prototype button.