C
Chisel
CDP Demo
v0.1.0
—— capability 2 of 6 · Dashboard

Cohort signals across 50 students

Real-time aggregates from the live Postgres backend. RIASEC profiles, aptitude distributions, career-fit by family, and recent counselling activity.

Students
50
across 5 schools
Reports
200
FTS-indexed counselling notes
Sessions
30
scheduled + completed
Cohort lean
Enterprising
RIASEC top dim · avg 62
— RIASEC cohort radar

Holland Code averages

Mean scores across all 50 students, 6 dimensions.

cohort lean → Enterprising (62)

— career family · top match

Where students gravitate

Family of each student's #1 ranked career match.

Finance dominates (40% of students)

— aptitude cohort mean

DAT V battery averages

6 aptitude dimensions, scored 0–100.

strongest → Speed/Accuracy

— specific careers

Most-matched careers (top match)

top 8
1
Chartered Accountant
10 · 20%
Finance
2
Dentist
8 · 16%
Medicine
3
Investment Banker
6 · 12%
Finance
4
Product Designer
6 · 12%
Design
5
Quantitative Analyst
4 · 8%
Finance
6
Data Scientist (research)
3 · 6%
Research
7
Management Consultant
3 · 6%
Entrepreneurship
8
Startup Founder
3 · 6%
Entrepreneurship
— activity feed

Recent reports

browse →
Session note
Career exploration session — Grade 11
Aanya Iyer · 3d ago
Parent meeting
Parent meeting — Anika Subramanian's pathway plan
Anika Subramanian · 4d ago
Parent meeting
Parent meeting — Harsh Bhatt's pathway plan
Harsh Bhatt · 4d ago
Test result
Mock CET / aptitude battery — Krishna Subramanian
Krishna Subramanian · 1w ago
Career review
Career review — Zara Menon (consolidated)
Zara Menon · 1w ago
Assessment
RIASEC + DAT V battery interpretation — Ishita Banerjee
Ishita Banerjee · 2w ago
Test result
Mock CET / aptitude battery — Siddharth Kapoor
Siddharth Kapoor · 3w ago
Test result
Mock CET / aptitude battery — Mira Krishnan
Mira Krishnan · 3w ago
—— how Dashboard works

Five §5 metrics, computed in one Postgres query each

1
Aggregate

Each card maps to a single SELECT … GROUP BY on students, reports, or career_matches. No materialised views, no caching layer.

2
Render

Server passes raw counts + buckets to Tera; Chart.js draws bar / pie / horizontal-bar in the browser. No build step, no bundler.

3
Drill down

Each chart is interactive: clicking a segment links to /discovery? with the right filter chips pre-applied — counsellor lands on the underlying records.

4
Refresh

Page is fully server-rendered. Reload = re-query. In prod we add Postgres NOTIFY + SSE push for live updates.