Aura
A personal AI clone. Clone your voice from a handful of audio samples, feed it a private knowledge base, then ask it questions and hear the answers back in your own voice.
The idea
A voice, a memory, and a way to ask it things
Three separate problems have to work together for a persona to feel like more than a chatbot with a filter on it: the voice has to sound like you, the answers have to be grounded in what you actually know rather than what a base model guesses, and both have to run without demanding infrastructure a single person would not normally stand up.
Aura keeps each piece as small as the problem allows. Voice cloning is one API call to a provider built for it. Retrieval is BM25 computed in-process against SQLite, no vector database or embedding key required, because a personal knowledge base does not need one. A ghost mode setting instructs the persona to withhold identifying details when that matters more than completeness.
Architecture
Three inputs, one persona
The app runs with no API keys configured. Anything left as a placeholder disables that feature cleanly rather than crashing; "Connect Social Profiles" and calendar sync are documented stubs with no ingest pipeline behind them yet.
Detail
At a glance
| Voice | ElevenLabs Instant Voice Clone. First cloned voice auto-assigned to the persona; generated audio served back from local storage. |
|---|---|
| Knowledge | PDFs and text chunked on paragraph boundaries (~1200 chars), stored in SQLite. BM25 retrieval computed in-process, no vector store or embedding key. |
| Persona | System prompt built from domain, tone, verbosity, expert mode, and ghost mode, plus retrieved chunks and standing rules. Claude Opus 5 streams the reply over SSE with inline citations. |
| Ghost mode | Instructs the persona to withhold identifying details (employers, clients, locations); generated audio is tagged accordingly. |
| Stack | Node/Express, SQLite via node:sqlite, vanilla JS frontend. |
| Stage | Building. Runs locally; not yet deployed. |