Inspiration
Access to real neurological patient data is limited by privacy, consent, and logistics. We wanted a fast, safe way for researchers and builders to explore ideas without waiting on data approvals—while still keeping the experience realistic and useful.
What it does
NeuroSynth generates realistic, privacy‑safe neurology datasets in seconds. It includes:
- Per‑record demographics, symptoms, tests, treatment plans, and concise narrative notes
- A lightweight, on‑device risk score (educational, not diagnostic)
- Interactive insights (age distribution, symptom frequency, risk)
- CSV export, shareable links with state, run history, and a disease guide
How we built it
- Frontend: React + Vite + TypeScript + Tailwind + Recharts (URL‑synced state, responsive UI)
- Generation: Programmatic record synthesis (deterministic + random components), optional LLM enrichment fallback
- API: Serverless function for
/api/generate(Netlify/Vercel compatible) - UX: Sidebar controls, tabbed content (Generated Data, Insights, Self‑Assessment, Guide), CSV download, share link
For a simple risk score we used a transparent additive model: [ \text{score} = \operatorname{clip}_{[0,100]} \Big( b + \sum_i w_i \cdot f_i(\text{tests}, \text{symptoms}, \text{age}) \Big) ] Optionally, this can be replaced with a logistic model: [ p(\text{risk}) = \sigma(\mathbf{w}^\top \mathbf{x}), \quad \sigma(z)=\frac{1}{1+e^{-z}} ]
Challenges we ran into
- Balancing realism and privacy while keeping generation fast
- Handling very large record counts without freezing the UI (pagination/virtualization planning)
- Managing serverless quirks (Node version pinning, function routing, accidental submodule in CI)
- Keeping the design consistent across breakpoints and ensuring accessible contrast
Accomplishments that we're proud of
- End‑to‑end, responsive MVP with unlimited generation, insights, and CSV export
- Clear, human‑readable narratives and risk badges per record
- Shareable, stateful links and local run history to streamline collaboration
- Disease Guide that feels like a mini‑site for quick learning and presets
What we learned
- Practical patterns for privacy‑safe synthetic data and transparent heuristics
- Styling with HSL brand scales for consistent light/dark tones
- Serverless deployment hygiene (envs, Node pinning, build paths, ignoring vendor artifacts)
- Small UX touches (toasts, URL sync, input normalization) improve the demo a lot
What’s next for NeuroSynth
- Standards/interop: FHIR/HL7 exports, optional differential privacy noise
- Scale/UX: batched or queued generation with progress; table virtualization
- Modeling: replace heuristic risk with a tiny on‑device model (logistic regression) trained offline
- Extensibility: more diseases, tunable severity/comorbidity sliders, provider sandbox integrations
Built With
- autoprefixer
- css
- html
- javascript
- netlify
- node.js
- openai-api
- postcss
- react
- recharts
- serverless-functions
- tailwind-css
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.