AI-powered knowledge management and note-taking application built with Tauri, React, and Rust
Noteraity is a modern, intelligent note-taking application that combines powerful AI capabilities with an intuitive interface. Built as a cross-platform desktop app, it helps you capture, organize, and connect your ideas through advanced features like semantic search, knowledge graphs, and AI-assisted writing.
- AI-Powered Intelligence - Chat with your notes, get smart suggestions, and leverage RAG for contextual responses
- Rich Text Editor - Full-featured TipTap editor with 50+ slash commands, markdown support, and advanced formatting
- Knowledge Graph - Visualize connections between notes with interactive graph views
- Semantic Search - Find notes by meaning, not just keywords, using vector embeddings
- Task Management - Integrated todo system with AI-powered extraction and prioritization
- Multi-Space Workspaces - Organize notes into separate workspaces with isolated databases
- Local-First - Your data stays on your machine with offline-capable SQLite storage
- Cross-Platform - Native desktop experience on Windows, macOS, and Linux
- Core Features
- AI Capabilities
- Editor Features
- Search & Discovery
- Knowledge Graph
- Task Management
- Organization
- Customization
- Technology Stack
- Getting Started
- Development
- License
Create and Edit Notes
- Rich text editing with auto-save
- Multiple view modes: Grid, List, and Compact views
- Favorites/starring system for quick access
- Note statistics: character count, word count, reading time
Note Types
- Custom note types with icons and colors
- Predefined templates
- Visual type badges for easy identification
Folder Organization
- Hierarchical folder structure
- Pin important folders
- AI-powered automatic folder organization
- Smart folder suggestions
Archive & Trash
- Soft delete to trash with restore capability
- Permanent deletion options
- Empty trash functionality
- Time-grouped trash view
- Archive feature for decluttering workspace
- Create multiple isolated workspaces (spaces)
- Separate databases per space
- Custom names, descriptions, icons, and colors
- Switch between spaces seamlessly
- Independent note collections and tag systems per space
Interactive Conversations
- Real-time streaming AI responses
- Multi-turn conversation support
- Message history and management
- Context-aware responses based on your notes
Smart Features
- Context-aware suggestions during conversations
- Multi-modal message support (text, code, markdown)
- Citation display for referenced notes
- Chat with specific note context
Vector Search & Embeddings
- Automatic note indexing for semantic search
- Vector embeddings for similarity matching
- RAG-enabled AI responses with relevant note context
- Confidence scores for retrieved information
RAG Management
- Index all notes automatically
- Track indexing progress and status
- Debug RAG responses with citation sources
- Failed notes tracking and recovery
Multiple Providers
- OpenAI integration
- Anthropic Claude support
- Ollama for local models
- Easy model switching
Model Management
- Configure and download local models
- Connection status monitoring
- Model availability checking
- AI diagnostics and troubleshooting
AI-Powered Features
- Auto-tagging with confidence scores
- Extract todos from notes automatically
- AI-suggested priority levels and due dates
- Web search integration for hybrid responses
Noteraity includes a powerful TipTap-based editor with extensive formatting capabilities:
Text Formatting
- Bold, Italic, Underline, Strikethrough
- Subscript & Superscript
- Text alignment (left, center, right, justify)
- Text and highlight colors
- Multiple font families and sizes
Content Blocks
- Headings (H1, H2, H3) with table of contents
- Code blocks with syntax highlighting (Shiki)
- Tables with horizontal scrolling
- Blockquotes
- Collapsible details/summary sections
- Horizontal rules
- Task lists with checkboxes
Lists
- Bullet lists
- Numbered/ordered lists
- Nested list support
- Task lists with completion tracking
Media
- Image upload and embedding (drag & drop)
- Remote image import from URLs
- YouTube video embedding
- Web embeds with iframe support
Slash Commands (50+)
- Type
/to open command palette - Quick formatting commands
- Block insertion (headings, quotes, code, tables)
- Media embeds (YouTube, web)
- URL article extraction
- AI commands
- Table of contents generation
- Command search and filtering
Smart Shortcuts
- Markdown syntax shortcuts
- Auto-formatting (e.g.,
*text*→ bold) - Quick list creation
- Paste markdown with auto-conversion
Linking & Mentions
- Link to other notes with
[[note-title]]syntax - Mention notes with
@prefix - Tag items with
#syntax - Auto-complete suggestions
- Note link preview panels
Productivity Features
- Drag & drop block reordering
- Focus mode for distraction-free writing
- Floating and bubble menus for quick formatting
- Character and word counting
- Auto-save and draft preservation
- Placeholder text with dynamic suggestions
Advanced Search
- Real-time search with debouncing
- Search result highlighting
- Filter by tags, content, and title
- Date range filtering
- File pattern matching
- Search tips and guidance
Search Index
- Automatic note indexing
- Index caching for performance
- Full index rebuild capability
- Search statistics and metrics
- Vector-based similarity search
- Find notes by meaning, not just keywords
- AI-powered context retrieval
- Confidence scoring for results
Interactive Visualization
- Force-directed graph layout
- Two modes: Traditional and Advanced
- D3-based and React Force Graph implementations
- Interactive node exploration
- Click to navigate to connected notes
Graph Controls
- Connection strength filtering (confidence threshold 0.7-1.0)
- Max nodes control (up to 50 nodes)
- View mode switching
- Manual refresh
- Efficient caching (15-minute TTL)
Bidirectional Links
- Link related notes together
- Confidence scores for connections
- Link type classification
- Automatic backlink support
Link Management
- Create and delete links
- Link preview functionality
- Connection metadata tracking
- In-editor link suggestions
Create and Manage Tasks
- Create todos with title and description
- Edit and delete todos
- Bulk operations support
Todo Properties
- Status tracking: Todo, In Progress, Completed, Cancelled
- Priority levels: Low, Medium, High, Critical
- Due dates and reminders
- Tags and categories
- Metadata storage
- Completion timestamps
Views & Filtering
- Grid and list view modes
- Filter by status, priority, due date, and tags
- Search todos
- Overdue todo highlighting
- Special views: Overdue and Upcoming todos
- Auto-extract todos from note content
- AI-suggested priority levels
- AI-suggested due dates
- Todo chat integration for AI-assisted management
- Link todos to specific notes
- View todos associated with a note
- Bidirectional linking
/todoslash command in editor
Tag Management
- Create custom tags with colors
- Edit and delete tags
- Tag favorites
- Color customization
Tag Features
- Tag library with statistics
- Note count per tag
- Filter notes by tag
- Tag consolidation (merge similar tags)
- Visual tag cloud
- AI-powered auto-tagging with confidence scores
Web Clipping
- Extract articles from URLs
- Automatic content formatting
- Image preservation with proxy
- Readability-based parsing
- Paste URL in slash commands
Database Import
- Import from legacy databases
- Create new space from imported data
- Automatic space switching
30+ Themes
- Light and Dark variants
- High contrast themes (accessibility)
- Popular themes: Solarized, Dracula, Monokai, Nord, Gruvbox
- Catppuccin variants: Latte, Frappe, Macchiato, Mocha
- Modern themes: Cyberpunk, Forest, Ocean, Sunset, Midnight, Sakura, Desert, Arctic, Chalkboard
Typography
- Multiple font options: Geist, Inter, System, Monospace, Roboto, Open Sans
- Customizable font sizes
Comprehensive Settings
- General preferences (auto-save, sync, auto-lock)
- Appearance customization (themes, fonts)
- Editor preferences and autocomplete
- Keyboard shortcuts management
- AI configuration (providers, models, RAG settings)
- Organization defaults
- Database management
Dashboard
- Quick stats overview (notes count, todo statistics)
- Recent notes display
- Quick actions (new note, AI assistant, todos)
- First-time user walkthrough
- AI connection status
Navigation
- Collapsible left sidebar with folder tree
- Multi-tab editor for multiple open notes
- Breadcrumb navigation
- Custom title bar (native window controls)
- Right panel for contextual information and AI chat
- React 19 - Modern UI library with TypeScript
- Vite - Fast build tool and dev server
- TipTap - Extensible rich text editor
- Tailwind CSS - Utility-first styling
- Shadcn/UI - Accessible component library
- Radix UI - Primitive UI components
- D3.js - Data visualization for graphs
- React Force Graph - Interactive graph visualization
- Zustand - Lightweight state management
- React Router - Client-side routing
- Tauri 2.0 - Cross-platform desktop framework
- Rust - High-performance backend logic
- SQLite - Local database storage
- PostgreSQL Support - Optional remote database
- OpenAI API - GPT models integration
- Anthropic Claude - Advanced AI capabilities
- Ollama - Local LLM execution
- pgvector - Vector similarity search
- Embeddings - Semantic search support
- Shiki - Syntax highlighting
- Lowlight - Code parsing
- Marked - Markdown rendering
- React Markdown - Markdown components
- date-fns - Date manipulation
- Recharts - Analytics charts
Before installing Noteraity, ensure you have:
- Node.js (v18 or later) - Download
- Rust (latest stable) - Install
- Tauri CLI - Install via
cargo install tauri-cli
-
Clone the repository
git clone https://github.com/okikorg/noteraity.git cd noteraity -
Install dependencies
npm install
-
Configure the application
# The setup script will run automatically before dev/build # Or run it manually: sh ./setup-config.sh
-
Run in development mode
npm run tauri:dev
-
Build for production
npm run tauri:build
AI Provider Setup
To use AI features, configure your preferred provider in Settings > AI Configuration:
- OpenAI: Add your API key
- Claude: Configure Anthropic API credentials
- Ollama: Install Ollama and pull models locally
Database Setup
Noteraity uses SQLite by default for local storage. No additional database setup is required for basic usage.
.
├── src/ # Frontend source code
│ ├── components/ # React components
│ │ ├── ai/ # AI chat and features
│ │ ├── editor/ # TipTap editor components
│ │ ├── graph/ # Knowledge graph views
│ │ ├── notes/ # Note management UI
│ │ ├── todos/ # Todo system
│ │ ├── tags/ # Tag management
│ │ ├── settings/ # Settings pages
│ │ └── layout/ # App layout components
│ ├── pages/ # Route pages
│ ├── stores/ # Zustand state management
│ ├── api/ # API integration
│ ├── lib/ # Utilities and helpers
│ ├── hooks/ # Custom React hooks
│ ├── types/ # TypeScript type definitions
│ └── styles/ # Global styles
├── src-tauri/ # Backend source code (Rust)
│ ├── src/
│ │ ├── main.rs # Main entry point
│ │ ├── commands/ # Tauri commands
│ │ └── database/ # Database logic
│ └── Cargo.toml # Rust dependencies
├── public/ # Static assets
├── packaging/ # Build scripts and installers
└── ...
# Development
npm run dev # Start Vite dev server
npm run tauri:dev # Start Tauri dev mode
# Building
npm run build # Build frontend
npm run build:check # Type check + build
npm run tauri:build # Build Tauri app
# Testing
npm run test # Run tests
npm run test:ui # Run tests with UI
npm run test:coverage # Generate coverage report
# Packaging
npm run package # Create distribution package
npm run package:bundler # Run bundler scriptContributions are welcome! Please feel free to submit issues and pull requests.
Run the test suite:
npm run testView test UI:
npm run test:uiThis is the Open Source Edition of Noteraity with authentication and billing features removed for a fully local, privacy-focused experience.
Key Differences:
- No authentication required - direct access to all features
- No billing/subscription system
- Fully local operation
- All notes stored on your machine
- No external API dependencies (except optional AI providers)
Getting Started:
- Start at
/dashboard(default route) - No sign-in required
- All features immediately available
Local-First Architecture
- All notes stored locally in SQLite databases
- No cloud sync (unless explicitly configured)
- Your data never leaves your machine by default
Secure Storage
- Encrypted credential storage
- Secure token management
- Protected API keys
AI Privacy
- Choose your AI provider
- Option for fully local models (Ollama)
- Control what data is sent to AI services
Planned Features:
- Enhanced mobile companion app
- Cloud sync option (optional, end-to-end encrypted)
- Advanced plugin system
- Collaboration features
- More AI model integrations
- Enhanced graph analytics
- Export to multiple formats (PDF, HTML, Markdown)
For issues, feature requests, or questions:
- Create an issue on GitHub
- Check existing documentation
- Join community discussions
[Add your license information here]
Built with:
- Tauri - Cross-platform framework
- React - UI library
- TipTap - Rich text editor
- Shadcn/UI - Component library
- Tailwind CSS - Styling
- D3.js - Visualizations
And many other open source projects that make Noteraity possible.
Made with care for knowledge workers, researchers, writers, and anyone who thinks deeply.