MindLens
Three perspectives. One clearer picture.
MindLens is an AI-assisted, counselor-facing platform that brings together student, parent, and teacher perspectives to help counselors understand where those perspectives align, where they differ, and what may be worth exploring further.
It does not diagnose students, assign mental-health risk scores, or replace counselor judgment.
🌱 Inspiration
The idea started with something I saw much closer to home.
I watched my counselor struggle to keep track of students — their concerns, follow-ups, observations, and the different perspectives surrounding each student.
The problem wasn't that counselors didn't care. The problem was information overload.
A student might describe themselves one way. A parent may see something completely different at home. A teacher may observe an entirely different pattern in the classroom.
Yet the counselor is often left to collect these perspectives manually, compare them mentally, and decide what deserves a closer look.
When I heard about Global Psyops Hackathon, that experience came back to me. I started asking:
What if technology could help counselors see the whole picture without making the decision for them?
That became MindLens.
🧭 What it does
MindLens collects independent assessments from a student, a parent, and a teacher, structures each response across six research-backed dimensions (Attention & Persistence, Activity, Adaptability, Sensitivity, Sociability, Self-Regulation), and surfaces where those perspectives agree and where they meaningfully diverge.
In the working prototype, a counselor logs into the Counselor Portal, opens a student case, and reviews a Perspective Heatmap showing divergence across all six dimensions at a glance. Any Surfaced Signal can be expanded via "Why was this flagged?" — an Evidence Chain Drawer that traces the signal back to the specific rater responses behind it, so nothing is a black box.
From there, the counselor records a clinical action — Monitor, Reach Out, or Refer — along with notes, and can generate a PDF report documenting the case, including a mandatory clinical disclaimer making clear the tool does not diagnose or score risk.
🔧 How we built it
- Backend: FastAPI (Python 3.10+) with SQLModel and Pydantic for data modeling and validation, tested with Pytest
- AI layer: Grok API, called from the FastAPI backend to summarize multi-rater responses into the comparison signals shown on the heatmap — scoped narrowly to summarization, not diagnosis
- PDF generation: ReportLab, producing the counselor-facing case report with the built-in clinical disclaimer
- Database: PostgreSQL 15+, storing raw rater responses, dimension scores, and signals so every flagged item stays traceable to its source (the Evidence Chain Drawer reads directly from this)
- Frontend: Next.js 14 (App Router), styled with a custom "Serene Logic" design token system rather than a component library, to keep the counselor-facing UI calm and legible rather than clinical/alarming
- Orchestration: Docker Compose, so the full stack (frontend, backend, database) spins up with a single
docker-compose up --build
We prioritized getting the full loop working end-to-end — intake → structured responses → Grok-summarized comparison → counselor review → recorded decision → PDF export — over polishing any single piece.
🧱 Challenges we ran into
The hardest problem was structuring multi-rater data into genuinely comparable dimensions. A parent, a teacher, and a student don't answer in the same format or from the same frame of reference — a teacher's classroom observation of "self-regulation" isn't naturally the same unit as a parent's at-home observation. Naively mapping three different response sets onto one six-dimension model risked flattening real differences into noise, or manufacturing false disagreement that wasn't actually there. Getting the comparison layer (and what we hand to Grok for summarization) to reflect meaningful divergence took more of our time than we budgeted, which meant less time for UI polish than we'd have liked.
🏆 Accomplishments that we're proud of
We're proud of shipping a complete, containerized, end-to-end prototype — not just a comparison engine, but the full clinical workflow around it: heatmap → evidence drawer → counselor decision → auditable PDF export with a clinical disclaimer baked in. Getting the Evidence Chain Drawer working — so every surfaced signal traces back to real underlying responses instead of being a black-box AI output — mattered a lot to us, since it's the difference between a tool counselors can trust and one they can't.
📚 What we learned
The most valuable thing we learned wasn't technical — it was conceptual. Going in, we assumed disagreement between raters was noise to be resolved into one "true" score. Digging into the research (and thinking through real counselor workflows) flipped that: disagreement between informants is common, well-documented, and often clinically meaningful in its own right. That reframing changed the actual design of the product — from "produce one accurate score" to "make the differences legible and worth investigating" — and it's why the Evidence Chain Drawer exists at all.
🚀 What's next for MindLens
Phase 1 — Technical Integrity: Harden the full pipeline for reliability beyond local Docker Compose conditions.
Phase 2 — Counselor Pilot: Test MindLens with realistic, de-identified student scenarios and measure understanding, speed of identification, trust, and willingness to adopt.
Phase 3 — Research Validation: Validate the assessment instrument, psychometric parameters, and discrepancy methodology with appropriate research and clinical input.
Phase 4 — Scale: Explore deployment across schools and counseling organizations while maintaining privacy, auditability, and human oversight throughout.
Built With
- css3
- fastapi
- jwt
- nextjs
- postgresql
- pydatic
- pytest
- python
- react
- typescript

Log in or sign up for Devpost to join the conversation.