Dashboard & Metrics
The coordinator dashboard is the first thing you check every day. It surfaces KPIs, action items, and anomalies across the entire platform so nothing falls through the cracks.
Main Dashboard
The main dashboard at /admin provides a real-time snapshot of platform health. It combines quick counts with actionable items that need coordinator attention.
Dashboard KPIs
Dashboard Counts API
{ "students": 42, "educators": 18, "parents": 35,
"open_postings": 7, "open_tickets": 3, "disputes": 1 }Dashboard counts are cached for 60 seconds. The cache is server-side (Worker-level). You will not see real-time updates faster than once per minute.
Full Dashboard API
{ "discrepancies": [...], // sessions with timing or data issues
"postings_needing_attention": [...], // open postings with no applications
"pending_applications": [...], // applications waiting for coordinator review
"parent_issues": [...], // unresolved parent-reported issues
"open_tickets": [...] // support tickets }This endpoint returns the full action-item list. Each item includes enough context for the coordinator to click through to the relevant detail page and take action.
Analytics Page
The analytics page at /admin/analytics provides deeper operational metrics with charts and trend data. All endpoints are admin-only.
Available Metrics
| Metric | Endpoint | Description |
|---|---|---|
| Monthly Hours | GET /admin/metrics/monthly-hours | Total tutoring hours delivered per month. Key revenue driver metric. |
| Revenue Recognition | GET /admin/metrics/revenue-recognition | Revenue booked vs. recognized per billing cycle. Tracks prepaid package consumption. |
| Margin Split | GET /admin/metrics/margin-split | Breakdown of revenue between platform fee and tutor payout per session. |
| NPS Summary | GET /admin/metrics/nps-summary | Net Promoter Score aggregated from parent feedback. Segmented by time period. |
| Parent Tenure | GET /admin/metrics/parent-tenure | Distribution of how long parents have been active on the platform. |
| Daily Activity | GET /admin/metrics/daily-activity | Sessions completed, check-ins, approvals, and disputes per day. |
| Tutor Performance | GET /admin/metrics/tutor-performance | Per-tutor metrics: hours, session count, cancellation rate, average NPS. |
| Ad-hoc Analytics | GET /admin/metrics/adhoc-analytics | Ad-hoc session counts (exam prep, extra sessions billed as add-ons). |
Family Tree
The family tree at /admin/family-tree provides a hierarchical visualization of the entire platform: parents -> children -> tutors.
// Returns hierarchical JSON
[{ "parent_id": 5, "parent_name": "Sarah Lim",
"children": [{ "child_id": 12, "child_name": "Ethan",
"tutors": [{ "tutor_id": 9, "tutor_name": "Alex Tan",
"session_count": 14, "status": "active" }] }] }]Family Tree Features
- D3 vertical grid layout with interactive pan and zoom
- Two view modes: Family View (parent-centric) and Tutor View (educator-centric)
- Multi-select filter: Filter by parent, subject, area, or activity status
- Click-to-detail sidebar: Click any node to see full profile info and quick actions
- Session counts: Each connection shows how many sessions have occurred
- Activity status: Nodes are color-coded by activity level (active, idle, churned)
Interpreting the Dashboard
Check the dashboard at the start of each day. Address items in this priority order: (1) open disputes, (2) pending applications older than 48h, (3) postings with no applications, (4) low-balance package alerts, (5) discrepancies.
- 1 Disputes first: Open disputes mean a parent is unhappy. Review the session details, check tutor notes, and resolve within 24 hours.
- 2 Stale applications: Applications sitting in the queue longer than 48 hours create a poor tutor experience. Push or reject promptly.
- 3 Empty postings: If a posting has zero applications after 72 hours, consider broadening the search or reaching out to tutors directly.
- 4 Package alerts: Parents with <20% package balance need a renewal reminder. The parent alerts system handles this automatically, but confirm delivery.
- 5 Discrepancies: Timing mismatches between check-in/out and scheduled times. Usually benign but investigate patterns.