Skip to content

kxm1908/WeHack26

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 NeuroVault — AI Cognitive Biomarker Museum

WEHack 2026 · The Night at the Museum · Conservatory Lab Track

A biomedical AI platform that transforms patient memory interactions into longitudinal cognitive biomarkers — giving clinicians actionable longitudinal data between clinic visits, packaged in an immersive museum experience.


🏆 Hackathon Tracks Targeted

Track Why We Qualify
Conservatory Lab (Biotech) Automates passive cognitive data collection between clinical visits. Tracks 6 validated speech biomarkers without burdening patients or caregivers.
WEHack General Museum metaphor is literal — patient's past is archived like a museum collection, studied to understand their present.
Best Use of Gemini API Gemini Vision analyzes uploaded photographs for era, emotion, and context; generates clinical longitudinal summaries.
Best Use of ElevenLabs Warm, human voice prompts the patient through each memory — replacing cold UI text with natural conversation.
Best Domain (GoDaddy) neurovault.health — register via GoDaddy Registry

🚀 Quick Start

Prerequisites

1. Clone and install

git clone https://github.com/your-team/neurovault
cd neurovault
npm install          # installs root concurrently
cd frontend && npm install
cd ../backend && npm install
cd neurovault
cd frontend && npm install
npm run dev 

2. Configure environment

Frontend — copy frontend/.env.examplefrontend/.env:

VITE_FIREBASE_API_KEY=...
VITE_FIREBASE_AUTH_DOMAIN=...
VITE_FIREBASE_PROJECT_ID=...
VITE_FIREBASE_STORAGE_BUCKET=...
VITE_FIREBASE_MESSAGING_SENDER_ID=...
VITE_FIREBASE_APP_ID=...

Backend — copy backend/.env.examplebackend/.env:

GEMINI_API_KEY=your_gemini_key
ELEVENLABS_API_KEY=your_elevenlabs_key
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
FIREBASE_SERVICE_ACCOUNT_PATH=./serviceAccountKey.json

Download your Firebase service account JSON from Firebase Console → Project Settings → Service Accounts → Generate new private key. Save as backend/serviceAccountKey.json.

3. Run dev servers

# From root (runs both concurrently)
npm run dev

# Or separately:
npm run dev:frontend   # → http://localhost:5173
npm run dev:backend    # → http://localhost:3001

🎬 Demo Flow (For Judges)

  1. Landinghttp://localhost:5173 — cinematic museum entrance with WEHack night theme
  2. Login → Google OAuth (patient account)
  3. Onboarding → name, age, gender, primary language
  4. Museum Home → 4 floating gallery cards (Childhood / Young Adult / Family / Recent)
  5. Select a Gallery → spotlight reveals the memory artifact photo
  6. ElevenLabs speaks → "Does this look familiar to you?"
  7. Patient responds → microphone records voice; waveform animates live
  8. Silent processing → Gemini analyzes photo, metrics computed
  9. Warm affirmation → "That's wonderful — thank you for sharing."
  10. Clinician dashboard → visit http://localhost:5173/clinician (code: NEURO2025)
  11. Live graphs update → fluency, pauses, speech rate plotted; Gemini insight panel renders

🧬 Tech Stack

Layer Technology
Frontend React 18 + Vite + Tailwind + Framer Motion
Backend Node.js + Express
AI Vision Google Gemini 1.5 Flash
Voice ElevenLabs TTS API
Auth + DB Firebase Auth + Firestore
Deployment Vercel
Domain GoDaddy Registry → neurovault.health

📊 Cognitive Biomarkers Tracked

Feature What It Captures Implementation
Response Latency Word-finding difficulty Web Audio API (client-side)
Speech Rate Cognitive processing speed Whisper transcript + timer
Pause Duration Hesitation, mental searching Silence detection
Fluency Score Composite verbal fluency Custom NLP scoring
Lexical Diversity Vocabulary range Type-token ratio
Word Count Utterance length / engagement Whisper word count

Critical design principle: All metrics are tracked as within-patient baseline changes — NOT compared to population averages. This is what clinical tools actually do.


🏛️ UI Design Philosophy

  • Patient view: Dark cinematic museum (deep navy + gold/teal). Feels like walking through an art museum at night. No clinical language — ever.
  • Clinician view: Clean clinical analytics dashboard. Recharts time-series graphs. Color-coded trend arrows. AI insight panel.

🔒 Clinical Ethics & Guardrails

  • NeuroVault is a monitoring tool, not a diagnostic tool
  • Zero clinical language in the patient-facing UI (cognitive, recall, assessment are scrubbed)
  • All AI insights are clearly labeled for clinician interpretation only
  • Patients are never corrected — emotional affirmation always comes before any follow-up
  • Silence and non-responses are recorded as data — not treated as failures

📁 Project Structure

neurovault/
├── frontend/
│   ├── src/
│   │   ├── pages/
│   │   │   ├── Landing.jsx          # Cinematic museum entrance
│   │   │   ├── Login.jsx            # Google OAuth
│   │   │   ├── Onboarding.jsx       # Patient profile setup
│   │   │   ├── MuseumHome.jsx       # Gallery artifact cards
│   │   │   ├── MemorySession.jsx    # Core memory flow + recording
│   │   │   ├── ClinicianDashboard.jsx # Analytics + charts
│   │   │   └── ClinicianLogin.jsx   # Clinician access gate
│   │   ├── hooks/
│   │   │   └── useAudioAnalysis.js  # Web Audio API + waveform
│   │   ├── context/
│   │   │   └── AuthContext.jsx      # Firebase auth state
│   │   └── firebase.js             # Firebase config
│   └── tailwind.config.js          # Museum color theme
│
├── backend/
│   └── src/
│       ├── index.js                 # Express server
│       ├── firebase.js             # Admin SDK + mock store
│       ├── routes/
│       │   ├── analyze.js          # Main AI pipeline endpoint
│       │   ├── voice.js            # ElevenLabs TTS proxy
│       │   └── sessions.js         # Save/retrieve sessions
│       └── services/
│           ├── gemini.js           # Gemini Vision analysis
│           ├── elevenlabs.js       # ElevenLabs TTS
│           └── audioAnalysis.js    # Speech metric computation
│
├── vercel.json                     # Deployment config
└── README.md

🌐 Deployment (Vercel)

npm i -g vercel
vercel --prod

Add all environment variables in the Vercel dashboard under your project settings.

Built at WEHack 2026 · UTD · April 11–12

About

NeuroVault

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages