BrainVaultAI is a personal second-brain system for capturing knowledge from notes, text, links, PDFs, images, and video, then turning that content into searchable, source-backed knowledge.
- ingest raw content
- clean and normalize it
- generate summaries and metadata
- store embeddings and relationships
- support retrieval with cited evidence
- FastAPI backend in
apps/api - Next.js frontend in
apps/web - ingestion for notes, text, URLs, PDFs, images, Telegram media, and video URLs
- optional OpenAI enrichment for OCR, summaries, and embeddings
- optional PostgreSQL, Qdrant, and Neo4j adapters for durable storage
- VideoDB-backed video transcript and spoken-word indexing when configured
Raw Input
|
v
Ingest
|
v
Normalize / Clean
|
v
Summarize / Tag / Embed
|
v
Store
|
+--> Canonical data
+--> Vector index
+--> Graph relations
|
v
Retrieve / Answer with Sources
Planner --> Tester --> Coder --> Reviewer --> Optimizer
Planner: lock scope, interfaces, data flow, failure cases, and acceptance criteriaTester: write failing tests firstCoder: implement the smallest correct sliceReviewer: check correctness, regressions, security, and coverage gapsOptimizer: improve structure without changing behavior
- Copy
.env.exampleto.env. - Set:
BRAINVAULT_USE_IN_MEMORY_STORE=true
BRAINVAULT_USE_QDRANT=false
BRAINVAULT_USE_NEO4J=false
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000/api- Install and run:
pip install -r apps/api/requirements.txt
cd apps/api
uvicorn app.main:app --reloadIn another terminal:
npm install
npm run devOPENAI_API_KEYfor OCR, summaries, and embeddingsVIDEODB_API_KEYfor live video ingestion and transcript indexingTELEGRAM_BOT_TOKENandTELEGRAM_WEBHOOK_SECRETfor Telegram ingestiondocker compose up -d postgres qdrant neo4jfor durable local infrastructure
POST /api/itemsPOST /api/items/upload-pdfPOST /api/items/upload-imagePOST /api/media/videoGET /api/itemsGET /api/items/{id}GET /api/search?q=...GET /api/answer?q=...GET /api/related/{id}GET /api/relationships/{id}
- Product and architecture plan: docs/brainvault-plan.md
- Agent operating rules: AGENTS.md