Everything you've ever found worth keeping.
MindVault is a personal second brain β a private, self-hosted knowledge vault where you capture, organise, and rediscover everything: YouTube videos, GitHub repos, bookmarks, voice notes (Malayalam + English), code snippets, PDFs, and more. With ARIA, your personal AI agent, it gets smarter the more you use it.
| Platform | Status | How to Run |
|---|---|---|
| π Web (React PWA) | β Production | make up β http://localhost:5173 |
| π₯οΈ Desktop (Electron) | β Working | cd mindvault-desktop && npm run dev |
| π± Mobile (React Native / Expo) | β Working | cd mindvault-mobile && npm start |
| π Browser Extension | β Working | Load extension/ in Chrome |
- Quick Capture Modal β Cmd+Shift+A or floating + button
- URL/Link β Auto-scrape title, description, OG image, favicon
- YouTube β Extract title, channel, thumbnail, duration
- GitHub β Extract repo name, stars, language, README preview
- Markdown Notes β Rich editor with live preview
- Voice Notes β Record audio, real-time waveform, transcribe (Malayalam + English)
- Code Snippets β Syntax highlighting, language detection
- Images/PDFs β Drag-and-drop upload, auto-thumbnail
- Music β YouTube music library with global player
- Semantic Search β Finds cards by meaning, not just keywords
- Persistent Memory β Remembers your goals, skills, context across conversations
- Tool Use β Saves cards, sets reminders, searches web, creates notes
- Malayalam Support β Responds in Malayalam if configured
- Local-First β Ollama = zero cost, zero privacy risk
- Daily Briefing β Personalised morning summary
- Collections β Named folders with colour coding
- Tags β Free-form, multi-tag, autocomplete
- Favourites β Single-click to star
- Archive β Soft-delete without permanent removal
- Reminders β Date + time picker on any card
- Pomodoro β 25/50 min focus sessions
- Session Logging β Track daily focus time
- Streak Counter β Consecutive days with focus sessions
- Installable β Add to Home Screen on iOS, Android, desktop
- Offline Mode β Cached cards viewable without internet
- Background Sync β Captures queued and synced when back online
git clone https://github.com/Navaneeth223/mindvault.git
cd mindvault
cp .env.example .env
make build
make up
make migrate
make seed
# Open: http://localhost:5173Demo login: demo / demo1234
The desktop app wraps the web app in a native Electron window with:
- System tray β runs in background
- Global shortcut
Ctrl+Shift+Spaceβ open capture from anywhere - Auto-fallback β loads cloud URL if local server isn't running
cd mindvault-desktop
npm install
npm run devA native window opens. If your local backend isn't running, it automatically loads the cloud version at mindvault-pearl.vercel.app.
# Windows (.exe)
npm run build:win
# β dist/MindVault Setup 1.0.0.exe
# macOS (.dmg)
npm run build:mac
# Linux (.AppImage)
npm run build:linux| Feature | Shortcut |
|---|---|
| Open capture | Ctrl+Shift+Space (global) |
| Search | Ctrl+K |
| Switch server | Tray icon β Server |
| Minimize to tray | Close window (doesn't quit) |
Built with React Native + Expo. Runs on your phone via QR code β no build needed.
- Android: Play Store β Expo Go
- iPhone: App Store β Expo Go
cd mindvault-mobile
npm install
npm startA QR code appears in the terminal.
- Android: Open Expo Go β Scan QR code
- iPhone: Open Camera app β Scan QR code β tap the Expo link
The app opens on your phone instantly.
In the app: Settings β Server URL
| Option | URL | When to use |
|---|---|---|
| Cloud | https://mindvault-62ua.onrender.com |
Works anywhere |
| Local | http://YOUR_PC_IP:8000 |
Same WiFi, faster |
Find your PC's IP:
# Windows
ipconfig
# Look for "IPv4 Address" under WiFi adapter
# Mac/Linux
ifconfig | grep "inet "- Home β Card feed with filters, pull-to-refresh
- Search β Full-text search
- Capture β Quick add (link, note, code, music, voice)
- Music β Music library with player
- Timer β Pomodoro focus timer
- Settings β Server config, account, sign out
# Install EAS CLI
npm install -g eas-cli
# Login (free Expo account)
eas login
# Build APK
cd mindvault-mobile
eas build --platform android --profile previewEAS builds in the cloud (free tier) and gives you a download link for the .apk file. Install it directly on your Android phone.
Save any page to MindVault with one click.
- Open Chrome β
chrome://extensions - Enable Developer mode (top right)
- Click Load unpacked
- Select the
extension/folder
- Click the MindVault icon in toolbar β save current page
- Right-click any link β "Save to MindVault"
- Right-click selected text β "Save selection as note"
- Keyboard:
Ctrl+Shift+Sβ save current page
Click the extension icon β Settings β enter your server URL and login.
ARIA is your personal AI second brain built into MindVault.
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull a model (choose based on RAM)
ollama pull llama3.2 # 2GB RAM β start here
ollama pull mistral # 5GB RAM β better quality
# Index your vault
make aria-index| Provider | Cost | Privacy | Quality |
|---|---|---|---|
| Ollama (local) | Free | 100% private | Good |
| OpenAI GPT-4o-mini | ~$0.15/1M tokens | Cloud | Excellent |
| Claude Haiku | Cheap | Cloud | Excellent |
| Gemini Flash | Free tier | Cloud | Good |
"What Django resources have I saved?"
"Remember that I want to become a developer by end of this year"
"Start a 25 minute focus session for studying Django"
"What are my goals?"
"Remind me to practice Django signals tomorrow at 8am"
"Give me a morning briefing"
"Search the web for Django best practices 2024"
- Python 3.11 + Django 5.x + Django REST Framework
- PostgreSQL (production) / SQLite (dev)
- Celery + Redis for async tasks
- Django Channels for WebSocket
- Whisper for speech-to-text
- ChromaDB for vector search (ARIA)
- JWT authentication
- React 18 + TypeScript + Vite
- TailwindCSS (custom dark theme)
- Zustand + React Query
- Framer Motion animations
- Workbox PWA
- Electron 31
- electron-store for settings persistence
- Auto-fallback to cloud URL
- React Native 0.74 + Expo 51
- React Navigation (stack + bottom tabs)
- expo-av for audio playback
- MMKV for fast storage
- FlashList for performant card lists
- Ollama (free, local) β llama3.2, mistral, phi3.5
- OpenAI (GPT-4o-mini)
- Anthropic Claude (claude-3-5-haiku)
- Google Gemini (gemini-1.5-flash)
make dev # Start all services (foreground)
make up # Start all services (background)
make build # Build Docker images
make stop # Stop all services
make migrate # Run Django migrations
make seed # Seed demo data
make shell # Django shell
make test # Run pytest
make aria-index # Index vault into ChromaDB for ARIA
make aria-status # Check Ollama connectionPOST /api/auth/register/
POST /api/auth/login/
POST /api/auth/token/refresh/
GET /api/auth/me/
GET /api/cards/ List (paginated, filtered)
POST /api/cards/ Create
PATCH /api/cards/{id}/ Update
POST /api/cards/{id}/favourite/ Toggle favourite
POST /api/cards/{id}/archive/ Toggle archive
GET /api/cards/random/ Random undiscovered card
POST /api/agent/chat/ Main chat
GET /api/agent/conversations/ List conversations
GET /api/agent/memory/ Personal facts
PATCH /api/agent/settings/ Update AI settings
POST /api/agent/reindex/ Reindex vault
GET /api/agent/status/ LLM connection status
GET /api/collections/
GET /api/search/?q=
GET /api/reminders/
GET /api/timer/sessions/
POST /api/meta/scrape/
POST /api/upload/
GET /api/health/
mindvault/ β Git repo root
βββ apps/ β Django backend apps
β βββ accounts/ Auth & user management
β βββ cards/ Core card CRUD + async tasks
β βββ collections/ Collections
β βββ reminders/ Reminders
β βββ search/ Full-text search
β βββ timer/ Focus timer sessions
β βββ agent/ ARIA AI agent
βββ config/ Django settings (base, local, dev, prod)
βββ frontend/ React + TypeScript web app
βββ mindvault-desktop/ Electron desktop app
β βββ src/main.js Main process (tray, shortcuts, window)
β βββ src/preload.js Context bridge
β βββ package.json
βββ mindvault-mobile/ React Native mobile app
β βββ src/screens/ All screens
β βββ src/navigation/ Stack + tab navigators
β βββ src/store/ Zustand stores
β βββ src/api/ API client
β βββ App.tsx Entry point
βββ extension/ Chrome browser extension
βββ nginx/ Nginx config
βββ docs/ Documentation
βββ README.md This file
- Push to GitHub
- Create Web Service on Render
- Set
DJANGO_SETTINGS_MODULE=config.settings.production - Add env vars from
.env.example
- Import repo on Vercel
- Root directory:
frontend - Set
VITE_API_URLto your Render URL
See DEPLOYMENT.md for detailed instructions.
| Token | Value |
|---|---|
| Background | #0f0f1a (deep space) |
| Surface | #1a1a2e |
| Accent | #00f5d4 (electric cyan) |
| Voice/Audio | #f5a623 (warm amber) |
| Heading font | Instrument Serif |
| Body font | DM Sans |
| Code font | JetBrains Mono |
MIT License β free to use, modify, and deploy.
Built with β€οΈ in Kerala, India
MindVault β Everything you've ever found worth keeping.