Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 BrainVault

License: MIT TypeScript React Tauri PRs Welcome

A local-first, privacy-focused note-taking app with AI-powered features. Your second brain, running entirely on your machine.

✨ Features

πŸ“ Powerful Editor

  • Rich markdown editing with live preview
  • Wiki-style [[linking]] between notes
  • #hashtag support for organization
  • Code blocks with syntax highlighting
  • Task lists, tables, and more

πŸ”— Knowledge Graph

  • Interactive 3D visualization of your notes
  • See connections at a glance
  • Filter by tags, find orphan notes
  • Hover preview for quick context

πŸ€– AI Assistant (Local-First)

  • Summarize notes with one click
  • Semantic search β€” find notes by meaning, not just keywords
  • Related notes β€” discover hidden connections
  • Works with Ollama for 100% local AI

πŸ“… Daily Notes & Templates

  • One-click daily note creation
  • Built-in templates: Meeting Notes, Project, Journal
  • Customizable template system
  • Quick create from command palette

πŸ“₯ Import & Export

  • Import from Obsidian vaults (preserves [[links]])
  • Import markdown files and folders
  • Export as ZIP, JSON, or individual files
  • Full backup with metadata

πŸš€ Built for Speed

  • Instant search with Cmd+K
  • Keyboard-first design
  • No cloud dependencies
  • Works offline, always

🎨 Beautiful & Customizable

  • Dark/light mode with auto-detection
  • Clean, distraction-free interface
  • Focus mode for deep writing
  • Split view editor/preview

πŸ†š How BrainVault Compares

Feature BrainVault Obsidian Notion
Local-first βœ… Local (except voice notes*) βœ… Local files ❌ Cloud-only
Free βœ… MIT License ⚠️ Freemium ⚠️ Freemium
Open source βœ… ❌ ❌
Wiki links βœ… βœ… ⚠️ Limited
Knowledge graph βœ… 3D Graph βœ… Graph view ❌
Local AI βœ… Ollama ❌ ❌
Native desktop app βœ… Tauri βœ… Electron ❌ Web only
Mobile app 🚧 Planned βœ… βœ…
Offline support βœ… Full βœ… Full ⚠️ Limited
File format Markdown Markdown Proprietary
Import from Obsidian βœ… N/A ⚠️ Manual

* Voice notes use the browser's Web Speech API, which in Chrome and Edge transcribes in the cloud rather than on-device. The app asks for consent before the microphone is opened and the feature stays off until you accept. See SECURITY.md.


πŸš€ Quick Start

# Clone the repository
git clone https://github.com/maximilliangrand/brainvault
cd brainvault

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:5173 and start taking notes!

Desktop App

Build a native desktop app with Tauri:

# Install Tauri CLI (first time only)
cargo install tauri-cli

# Build the app
npm run tauri build

🐳 Docker

Run BrainVault in a container:

# Quick start
docker compose up -d

# Access at http://localhost:3000

Or build and run manually:

# Build the image
docker build -t brainvault .

# Run the container
docker run -d -p 3000:80 --name brainvault brainvault

With Local AI (Ollama)

# Start with Ollama support
docker compose --profile ai up -d

# Pull a model
docker exec brainvault-ollama ollama pull llama2

πŸ€– Setting Up Local AI

BrainVault works great without AI, but for the full experience:

  1. Install Ollama

    brew install ollama  # macOS
    # or download from https://ollama.ai
  2. Start Ollama

    ollama serve
  3. Pull a model

    ollama pull llama2     # Fast, good quality
    ollama pull mistral    # Great for reasoning
    ollama pull codellama  # Best for code notes
  4. Open BrainVault β€” AI features will automatically connect!


⌨️ Keyboard Shortcuts

Action Shortcut
New note Cmd+N
Daily note Cmd+D
Search Cmd+K
Toggle sidebar Cmd+B
Switch view mode Cmd+E
Graph view Cmd+G
Save note Cmd+S
Focus mode Cmd+Shift+F
AI chat Cmd+J
All shortcuts Shift+/

πŸ› οΈ Built With

React TypeScript Tauri Tailwind CSS Vite

Layer Technology
Framework React 19 + TypeScript
Desktop Tauri 2.0 (Rust)
Editor TipTap
State Zustand
Styling Tailwind CSS
Animations Framer Motion
Graph react-force-graph-3d
AI Ollama (local inference)
Search Fuse.js + custom semantic search

πŸ“ Project Structure

brainvault/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/     # React components
β”‚   β”‚   β”œβ”€β”€ AI/         # AI chat interface
β”‚   β”‚   β”œβ”€β”€ Editor/     # Markdown editor
β”‚   β”‚   β”œβ”€β”€ Graph/      # Knowledge graph
β”‚   β”‚   β”œβ”€β”€ Import/     # Import modal
β”‚   β”‚   β”œβ”€β”€ Templates/  # Template modal
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ stores/         # Zustand state management
β”‚   β”œβ”€β”€ lib/            # Utilities & helpers
β”‚   β”‚   β”œβ”€β”€ ai.ts       # AI/ML functions
β”‚   β”‚   β”œβ”€β”€ import.ts   # Import utilities
β”‚   β”‚   β”œβ”€β”€ templates.ts# Note templates
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ types/          # TypeScript types
β”‚   └── styles/         # Global styles
β”œβ”€β”€ src-tauri/          # Tauri (Rust) backend
β”œβ”€β”€ server/             # Optional API server
β”œβ”€β”€ docker/             # Docker configuration
└── public/             # Static assets

πŸ§ͺ Testing

# Run all tests
npm test

# Run with UI
npm run test:ui

# Run specific test file
npm test -- src/lib/__tests__/ai.test.ts

🀝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

πŸ“„ License

MIT β€” do whatever you want with it.


πŸ™ Acknowledgments

  • Obsidian for inspiration
  • Tauri for making desktop apps not suck
  • Ollama for democratizing local AI

Made with ❀️ because note-taking apps shouldn't sell your data.

About

local-first note-taking app with markdown, wiki links, and graph view

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages