Builder Case Studies / IntentCore

Stale (2 months)
Tauri 2 Rust React MLX Qwen2.5-3B

IntentCore

Intent-based data architecture desktop app. Scans Documents/Desktop/Code, AI-analyzes intent states (research/active/paused/shelved/completed), stores as Markdown.

Intent-based architecture (Plaid/Datadog) Edge AI (Apple Intelligence)
Problem Statement

The Filesystem Has No Concept of Intent

A MacBook accumulates thousands of files across Documents, Desktop, and Code directories — each tied to a project or "intent." Some are active (current sprint), some paused (waiting for review), some shelved (completed or abandoned). The filesystem offers no way to organise by intent — only by folder and file type.

The workspace is a flat namespace of directories and extensions. A designer's mockup for an active sprint sits next to a finished proposal from six months ago. A critical patch lives beside an abandoned experiment. The signal-to-noise ratio degrades daily, and the cost of context-switching compounds with every new project.

The goal: an app that scans your entire workspace, uses a local LLM to classify each file's intent state, and presents an intent-oriented view of your digital workspace — without uploading anything to the cloud.

Approach & Architecture

Local-First, Intent-Aware Desktop Architecture

IntentCore is a Tauri 2 desktop app (Rust backend + React/TypeScript frontend). The Rust backend watches filesystem changes via notify, runs on-device ML inference via MLX (Apple Silicon) with Qwen2.5-3B, and persists intent state as Markdown files alongside the originals. The Tauri shell provides native macOS window controls, file dialogs, and system tray integration.

The data pipeline flows unidirectionally: filesystem events trigger the watcher, which enqueues files for classification. The MLX inference engine runs Qwen2.5-3B locally on the M-series Neural Engine, classifying each file into one of five intent states. The classified state is written as an adjacent .md sidecar file (Obsidian-compatible frontmatter), and the React frontend re-renders the intent dashboard in real time.

// Rust → Tauri command (invoked from React frontend)
        #[tauri::command]
        async fn classify_intent(path: String) -> Result<IntentState, String> {
            let text = std::fs::read_to_string(&path).map_err(|e| e.to_string())?;
            let result = mlx::infer("Qwen2.5-3B", &text, intent_prompt()).await?;
            Ok(IntentState::from_label(&result))
        }
macOS — IntentCore RUST BACKEND File Watcher notify · FSEvents MLX Inference Qwen2.5-3B · Neural Engine Markdown Store *.md sidecar · Obsidian-compatible REACT FRONTEND Intent Dashboard Active · Paused · Shelved Timeline View State transitions File Explorer By intent state FILESYSTEM ~/Documents ~/Desktop ~/Code INOTIFY CLASSIFY INTENT STATE research active paused shelved completed INTENT CLASSIFICATION PIPELINE — FILESYSTEM → MLX → FRONTEND
Sequence Diagram

File Change → MLX Classify → UI Update

INTENT STATE PIPELINE FILESYSTEM File Change Event Documents/Code 1 WATCHER Debounce 500ms Content Read 2 MLX CLASSIFY Intent Detection Apple Silicon 3 MARKDOWN Intent State Write Category/Status 4 Tauri Shell → UI Refresh INTENT STATE MACHINE Research Active Active In Progress Paused On Hold Completed Done Shelved Archived N Step Data Flow State (floating)
Deployment Topology

macOS Desktop Deployment Architecture

DEPLOYMENT TOPOLOGY: macOS Desktop MACOS (Apple Silicon) TAURI SHELL HTML/CSS/JS Frontend · WebView PYTHON BACKEND File Watcher · Markdown Writer MLX / MLX-LM Apple Silicon Neural Engine IPC PROCESS MODEL Main Process Watcher Thread MLX Inference UI Render Memory: ~400MB CPU: 2-8% idle Tauri Python MLX
Technology Stack

Local AI Stack Optimised for Apple Silicon

Languages
Rust TypeScript/React Python
AI
MLX (Apple Silicon) Qwen2.5-3B
Desktop
Tauri 2 Rust shell + webview
Storage
Markdown files Obsidian-compatible
Architecture Decision Records

Key Engineering Decisions

ADR-001
Tauri 2 over Electron

Rust backend for native filesystem access and MLX bindings; significantly smaller binary (~5MB vs ~120MB); lower memory footprint (~40MB idle vs ~200MB). The webview approach also enables direct system tray and native file dialog integration without bridging.

ADR-002
Markdown Storage over SQLite

Files remain accessible and editable outside the app — no proprietary format lock-in. The sidecar *.md files are Obsidian-compatible, enabling note-taking workflows on top of the intent graph. Markdown renders natively on GitHub, VS Code, and every text editor.

ADR-003
Qwen2.5-3B over Larger Models

Runs on Apple Silicon at usable speed (~15 tokens/sec on M1 Max); 3B parameters are sufficient for intent classification without the memory overhead of 7B+ models. Fits in ~6GB RAM alongside other applications, making it practical for an always-on desktop assistant.

ADR-004
Markdown over SQLite — files remain accessible outside the app, Obsidian-compatible, no vendor lock-in

Intent state files are plain Markdown with YAML frontmatter rather than rows in a proprietary SQLite schema. This means every intent file is directly readable by Obsidian, VS Code, grep, and git — the user's data is never trapped in a binary format or opaque database. Sidecar .md files live adjacent to the original documents, so the intent graph survives even if the Tauri app is uninstalled. The tradeoff is that cross-file queries (e.g., "all active intents from last week") require filesystem scanning rather than a SQL WHERE clause, but for a desktop-scale intent graph (hundreds, not millions of files) the simplicity and portability win decisively.

Session Timeline

Three Sessions from Concept to Blueprint

641
IntentCore conceptualization
Building the Tauri app concept, UI mockup in React, architecture blueprint — the core design and implementation plan.
26
Test voice agent script
Testing the voice agent integration script — prototyping hands-free interaction with the intent dashboard.
14
Project directory exploration
Exploring the existing codebase structure to map integration points for the IntentCore scanner.
Outcome & Impact

Blueprint for Local-First Intent Management

3
Sessions
6
Key Decisions
2
Industry Parallels
1
Design Mockup

Industry alignment: Intent-based data architecture mirrors approaches used by Plaid and Datadog for organising heterogeneous data by semantic intent rather than storage topology. Edge AI inference on Apple Silicon follows the trajectory of Apple Intelligence — running capable models on-device for privacy and low latency. The complete design mockup and architecture blueprint serve as the foundation for a production implementation.