AI-powered 3D voxel knowledge map for children with learning disabilities
Problem • Solution • Research • Architecture • Getting Started • Docs
Built by Armaan Priyadarshan, Samarjit Deshmukh & Kavneer Majhail
Freshmen at Dartmouth College
Meno is named after Plato's Meno dialogue, in which Socrates demonstrates that a young, uneducated slave boy already possesses latent mathematical knowledge. He just needs the right questions to draw it out. Socrates guides the boy through a geometry proof not by lecturing but by asking, and the boy arrives at understanding on his own.
That's the thesis of this project: every child already has the capacity for understanding. A learning disability doesn't mean the knowledge is absent. It means the usual path to it is blocked. Meno's job is to find where the blockage is, make it visible, and help the adults in a child's life ask the right questions.
Learning disabilities affect roughly 1 in 5 children, yet most go unidentified until years of struggle have compounded into anxiety, academic failure, and eroded self-confidence. Dyscalculia alone affects 5 to 7% of school-age children (roughly the same prevalence as dyslexia) and is dramatically underdiagnosed. Beyond math, children may struggle with working memory, attention, spatial reasoning, or language processing in ways that are invisible to the adults around them.
Current screening tools are paper-based, require trained administrators, and produce a binary "at risk / not at risk" label with no actionable detail about where the breakdown is or what the child's strengths are. Parents and teachers are left with vague report cards and no concrete path forward.
We wanted to create something that could catch learning difficulties earlier and show the adults in a child's life exactly what is happening, not just that something is wrong.
Meno is a two-platform system (one for the child, one for the parent) that builds a living picture of how a child learns. It quietly screens for learning difficulties through themed games, maps the results onto a 3D voxel brain sculpture, and surfaces both strengths and areas that need support so every adult in the child's life can see what's really going on.
The child plays through themed game sessions with four task types drawn from cognitive neuroscience:
| Game | What it measures |
|---|---|
| Dot Clouds | Non-symbolic magnitude comparison (subitizing vs counting) |
| Number Pairs | Symbolic number comparison (numerical distance effect) |
| Dot Flash | Rapid enumeration and working memory span |
| Color Memory | Visuospatial change detection (Cowan's K proxy) |
Every response silently records accuracy, response time, hesitation, and answer changes. The child never sees clinical language, just themed emoji and encouragement.
The parent sees a voxelized brain sculpture inside a translucent head silhouette. Each brain region maps to a knowledge-graph category (Number Sense, Number Relations, Arithmetic, Working Memory, Spatial Reasoning, Language & Number). Voxel color encodes mastery on a continuous gradient:
🟢 Green = mastered 🟡 Amber = developing 🔴 Red = needs support ⬜ Gray = not yet assessed
The Behavioral Risk Profile runs a calibrated logistic regression classifier and produces:
- A risk score (0 to 100%) with per-feature contributions showing what's driving it
- An LLM-generated narrative (GPT-4o) translating the model output into plain-language findings and recommendations
- A confidence check (Mahalanobis out-of-distribution detection) that downgrades confidence when the child's profile is unusual relative to the training data
- A downloadable screening report (PDF) a parent can bring to a learning specialist
The goal is to show not just where a child struggles, but also where they're strong, so the conversation with a teacher or specialist starts from a complete picture rather than a deficit label.
The behavioral features Meno captures are drawn from peer-reviewed research on learning disabilities and number processing:
| Feature | What it measures | What difficulty looks like |
|---|---|---|
| Subitizing accuracy (1 to 3) | Rapid apprehension of small quantities | Often preserved even when other number skills are weak (a diagnostic clue) |
| Counting accuracy (4 to 7) | Enumeration beyond the subitizing range | Slower, less accurate, more effortful |
| Symbolic comparison | Mapping numerals to magnitudes | Core difficulty in dyscalculia: the symbolic/non-symbolic gap |
| RT coefficient of variation | Response time consistency | High variance signals attentional or strategic instability |
| Efficiency (acc / log RT) | Speed-accuracy composite | Lower even when accuracy is matched |
| Visuospatial WM | Change detection in spatial arrays | Working memory bottleneck that affects multi-step problem solving |
| Mastery volatility | Learning-then-forgetting pattern | Learning a skill one day and losing it the next |
The initial demo classifier is a logistic regression trained on a published 64-subject dyscalculia cohort with leave-one-out cross-validation:
| Metric | Value |
|---|---|
| Accuracy | 0.69 |
| Sensitivity | 0.66 |
| Specificity | 0.72 |
| AUC | 0.81 |
The architecture is designed to extend beyond dyscalculia. The screening layer supports four categories (dyscalculia, attention, working memory, general learning difficulty) and the knowledge graph can grow to cover any domain the AI decomposes. Model weights are checked into the repo as JSON. No Python runs at inference time.
Child plays games --> child_responses table --> Feature Aggregator (TS)
|
v
Trained Classifier (JSON weights)
|
v
GPT-4o Narrative Layer
|
v
GET /api/parent-summary/[studentId]
|
v
Parent dashboard: voxel brain + knowledge graph + screening
The two platforms are physically segmented via Next.js route groups (app/(parent)/, app/(child)/). They share Supabase tables but no React providers. The child never sees clinical language; the parent never sees gamification.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, TypeScript, Tailwind v4) |
| 3D Rendering | React Three Fiber + three-mesh-bvh |
| Database | Supabase (Postgres) |
| AI / LLM | OpenAI GPT-4o |
| ML Classifier | scikit-learn (offline training) -> JSON weights -> TS inference |
| Validation | zod (structured LLM output) |
| Testing | vitest |
pnpm install
pnpm devOpen http://localhost:3000 to pick a platform.
# Profile with learning difficulty signals (risk ~91%)
curl -X POST -H "Content-Type: application/json" \
-d '{"persona":"dd"}' http://localhost:3000/api/seed-demo
# Typically-developing profile (risk ~11%)
curl -X POST -H "Content-Type: application/json" \
-d '{"persona":"td"}' http://localhost:3000/api/seed-demoThen visit /parent to see the dashboard update.
uv run --project scripts/train_classifier scripts/train_classifier/train.pyVision: Help every child get what they need for their circumstances by making their learning profile visible, concrete, and actionable for the people around them.
Demo scope: The initial demo targets dyscalculia (K-3 number sense) because that's where our personal experience and training data are strongest. The architecture is general: the screening layer already supports four categories (dyscalculia, attention, working memory, general learning difficulty), the knowledge graph can grow to any domain the AI decomposes, and the classifier is designed to be retrained on new cohorts as data becomes available.
Goal: Give parents and teachers a complete picture of how a child learns, not just a deficit label. The sculpture shows strengths and gaps together. The screening report is something concrete a parent can bring to a learning specialist to start a real conversation.
Non-goal: Diagnosis. Meno is pattern detection. Every screening surface carries the disclaimer. The risk score comes from 64 training subjects and has not been validated for clinical use.
| Document | Description |
|---|---|
| overview | Vision, audiences, platforms, tech stack, roadmap |
| knowledge-graph | AI-maintained graph: seed, mutations, storage |
| screening | Screening layer and research basis |
| ui | Design language, color encoding, voxel rendering |
| backend | Supabase tables and API routes |
| platforms | Parent vs child split, route map, integration status |
| ml-pipeline | Classifier architecture, feature mapping, LLM narrative |
| classifier-report | LOOCV metrics, confusion matrix, feature importances |
Built with care at HackDartmouth XI
Meno - because every child deserves to be understood, not just tested.

