Inspiration
Working at the intersection of computer science and clinical psychology, I have seen firsthand how traditional mental health applications often mishandle sensitive data. Storing highly vulnerable therapy insights on third party cloud servers creates massive privacy liabilities and destroys patient trust. I wanted to build a system that brought the intelligence directly to the user so their private thoughts never had to leave their physical device.
What it does
VoiceVault is a strictly local clinical voice journaling platform. It lets users record their daily thoughts and immediately processes the audio into text and sentiment metrics using on-device machine learning. The system then orchestrates these secure, local data points to generate overarching clinical SOAP narratives for personal review while keeping the raw data entirely locked inside the browser cache.
How we built it
The application shell is built on Next.js and TailwindCSS with Framer Motion handling the UI physics. The core processing engine utilizes Transformers.js to execute quantized Hugging Face NLP models directly in the browser via WebGPU. For data persistence, we used Dexie to manage an IndexedDB instance tethered to decentralized Auth0 identity tags, completely eliminating the need for a traditional backend database.
The Zero-Knowledge Threat Model
I approached this architecture assuming that a server breach is an eventual certainty rather than a remote risk. Because the application state is sandboxed locally and Auth0 only manages identity tokens, there is no centralized repository of patient data to exploit. Even if the hosting provider is completely compromised, a bad actor would only find static assets and compiled binaries. The system is structurally immune to mass data exfiltration by design.
Challenges we ran into
Our biggest hurdle was preventing Next.js from aggressively attempting to bundle WebAssembly binaries required for our local models. We had to deeply customize the webpack configurations to bypass local bundling and fetch WASM paths directly from a CDN. We also fought severe React hydration mismatches caused by our randomized UI physics, which we eventually solved by strictly gating those components behind client side mounting hooks.
Accomplishments that we're proud of
We successfully deployed a full scale natural language processing application without provisioning a single backend relational database. Achieving a completely zero knowledge architecture where complex clinical sentiment analysis happens securely inside a local sandbox is a massive win. It proves that developers do not need to trade patient privacy for intelligent functionality in the mental health space.
What we learned
Building this required a deep dive into the absolute limits of browser memory and local hardware acceleration. I learned how to orchestrate incremental data payloads, feeding only new journal entries to off device proxies to prevent token exhaustion and API bloat. It heavily reinforced that building secure clinical tools requires architecting data flow and privacy constraints long before touching any UI.
What's next for VoiceVault
The immediate next step is building out local semantic search by generating 384 dimensional vector embeddings for every journal entry off grid. After that, we plan to implement end to end encrypted blob synchronization. This will allow users to sync their local IndexedDB cache across multiple devices via a blind AWS S3 bucket while perfectly preserving the zero knowledge guarantee.
Built With
- anthropic
- auth0
- claude
- dexie.js
- framer-motion
- hugging-face-nlp
- indexeddb
- next.js
- react
- tailwindcss
- transformers.js
- web-speech-api
- webgpu
Log in or sign up for Devpost to join the conversation.