Web portal

The desk you'd actually want to sit at.

Offline-first. Push-notified. Persona-based. Open the portal, see only what your role needs — nothing else.

💻
Offline-first · pushable · installable
Offline-firstPush notificationsPer-device sessionsSix persona homesPWA installable
Six persona homes

One portal, six different default screens.

Each persona's /me landing is hand-tuned — KPIs that role cares about, actions they take 10 times a day, alerts pinned at the top.

Admin

Admin home

Multi-school KPIs, alerts inbox, pending approvals, exceptions centre. The one screen the principal opens with coffee.

  • GroupDashboard KPIs across all assigned schools
  • Alerts strip — DashboardAlert engine scans nightly
  • Pending approvals inbox (fee waivers / vouchers / leave / promotions)
  • Exceptions centre — fee defaulters · attendance anomalies · missing data
Teacher

Teacher home

Today's timetable on top. Yesterday's pending submissions to grade. Quick actions: take attendance, assign homework, message a parent.

  • Today's classes (period-by-period)
  • Submissions waiting on you (with AI evaluator suggestions ready)
  • Quick attendance · quiz · announcement actions
  • Class roster with one-tap parent message
Driver

Driver home

Today's route, student list, vehicle status, fuel log entry, breakdown flag. Auto-refreshes; no manual sync.

  • Active trip strip with student boarding count
  • Vehicle status — fuel · service · document expiry
  • Start trip / End trip / Cancel trip — admin-approved or self
  • Push tomorrow's route to the device overnight
Security

Gate-desk home

Visitor check-in, photo capture, ID scan, bus-pass verification, overstay alerts. Hour-by-hour gate log.

  • Quick check-in: photo + ID + reason + person-to-meet
  • Bus-pass verification on entry / exit
  • Overstay alerts — flagged when a visitor doesn't sign out by 5 PM
  • End-of-day gate log export
Parent

Parent home

Multi-child cards (each kid is a swipe). Today's attendance, fee balance, pickup ETA, recent results. Leave-on-behalf-of-child in two taps.

  • Multi-child support — swipe between kids
  • Today timeline per kid (attendance · classes · events)
  • Fee balance + pay button
  • Leave request with medical-certificate upload
Transporter

Transporter ops dashboard

Active trips · driver assignments · vehicle status · trip exceptions. The big-screen view for the operations head.

  • Live trip map (every active vehicle)
  • Driver assignments + leave coverage
  • Trip exceptions: delayed / breakdown / cancelled
  • Daily / weekly KPI rollup
Offline-first by design

The portal that works when the Wi-Fi doesn't.

Leave forms, attendance, correction requests — everything queues locally on offline. Sync indicator shows the queue depth. Submissions are idempotent on a ClientRequestId so a re-sync never double-creates.

Local queue

IOfflineQueueService stores submissions in localStorage; window events fire on connect/disconnect.

Sync badge

PersonaShell shows pending-sync count. Click to see what's waiting.

Idempotent submit

ClientRequestId on Leave + AttendanceCorrection ensures one logical submit = one row, even on retry.

See your role in the portal.

Tell us which persona you sit in. We'll open that home page on your data.

Request a demo