Frontend Stack
Core Framework
19.1.0
UI framework with modern hooks and concurrent features
~5.8.3
Type-safe JavaScript with strict mode enabled
^7.0.4
Build tool with fast HMR and optimized production builds
UI & Styling
^4.1.18
Utility-first CSS framework with custom design tokens
radix-ui@^1.4.3
Accessible headless UI primitives (Dialog, Popover, DropdownMenu, etc.)
^12.29.2
Animation library for smooth transitions (successor to Framer Motion)
custom
Pre-built accessible components built on Radix UI + Tailwind
Editor & Rich Text
^3.4.1
Headless rich text editor framework
@tiptap/react- React integration@tiptap/markdown- Markdown parsing/serialization@tiptap/starter-kit- Common extensions@tiptap/extension-*- Task lists, tables, links, images
^3.4.1
ProseMirror core (powers TipTap)
Data & Forms
^8.21.3
Headless table library for database views
^7.71.1
Performant form validation
^4.3.6
TypeScript-first schema validation
^5.2.2
Zod integration for react-hook-form
Canvas & Visualization
^12.10.0
Node-based canvas editor (formerly React Flow)
Utilities
^1.1.1
Command palette component (Command+K)
^2.0.7
Toast notifications
^0.4.6
Dark mode theme switching
^0.7.1
Type-safe CSS class variants
^2.1.1
default:"tailwind-merge"
Conditional class names + Tailwind class merging
^4.6.2
Resizable sidebar/panel layouts
Backend Stack
Core Framework
2.x
Rust-based framework for building desktop apps
tauri- Core runtime@tauri-apps/api- JavaScript bindings@tauri-apps/cli- Build tooling
2021 edition
Systems programming language (see
Cargo.toml)Tauri Plugins
2.x
Native file picker dialogs
2.x
Open files/URLs in default system apps
2.x
Persistent key-value settings storage
^2.10.0
Auto-update functionality
2.x
System notifications
^2.3.1
Process management for Codex app-server
Serialization & Data
^1.0
default:"derive"
Rust serialization framework
^1.0
JSON serialization for IPC and file storage
^0.9
YAML frontmatter parsing
^0.31
default:"bundled"
SQLite bindings with embedded SQLite
Filesystem & I/O
^6.0
Cross-platform filesystem watcher
^0.10
SHA256 hashing for content-addressed storage
^0.4
Hex encoding for hash strings
^0.22
Base64 encoding for binary data URLs
Networking
^0.12
default:"rustls-tls"
HTTP client for link preview fetching
- Uses
rustlsinstead of OpenSSL blocking- Synchronous APIjson- JSON body supportstream- Streaming responses
^2.0
URL parsing and validation
AI & LLM
^0.24.0
default:"derive"
Multi-provider LLM framework
- OpenAI, Anthropic, Gemini, Ollama support
- Tool calling & structured outputs
^0.8
JSON Schema generation for AI tool definitions
Utilities
^1.0
default:"v4"
UUID generation for note IDs
^0.3
default:"formatting"
Date/time handling (used for daily notes)
^1.0
Regular expressions for parsing
^0.1
Structured logging
^0.3
default:"env-filter"
Log filtering and formatting
^1.0
default:"macros, rt, time"
Async runtime for AI streaming
^0.3
Async utilities
^0.7
Additional Tokio utilities
Platform-Specific
^0.7
macOS window blur effects
^20.0
default:"macOS only"
macOS font enumeration
Development Tools
Linting & Formatting
^1.9.4
Fast linter + formatter (replaces ESLint + Prettier)
- Auto-organizes imports
- Enforces code style
- TypeScript-first
Testing
^4.0.18
Vite-native test runner
- Unit tests for utilities
- Integration tests for editor extensions
Type Definitions
^19.1.8
React type definitions
^19.1.6
React DOM type definitions
Package Manager
10.28.2
Fast, disk-efficient package managerOnly builds native modules when needed:
package.json
Icon Library
^1.1.4
Open-source React icon library
^3.1.1
Core icon set
Version Matrix
Architecture Decisions
Why Tauri over Electron?
- Smaller bundle size (~10MB vs 100MB+)
- Lower memory footprint
- Native system integration
- Rust security guarantees
Why TipTap over other editors?
- TypeScript-first
- Full control over markdown serialization
- Extensible plugin system
- ProseMirror foundation (battle-tested)
Why Biome over ESLint/Prettier?
- 10-100x faster
- Single tool for linting + formatting
- Built in Rust
- Auto-import organization
Why Rig over LangChain?
- Rust-native (type-safe)
- Multi-provider abstraction
- Streaming support
- Tool calling with JSON schema