A local embedding engine that understands every file on your machine — text, images, audio, video — without ever leaving your device.
Not search. Not sort. Understand.
Every file tells a story. EmbedCore reads them all — extracting meaning, building connections, and making your entire library searchable by concept, not just by name.
Every computation runs locally. No API keys, no cloud sync, no telemetry. EmbedCore processes your files on your hardware — your embeddings, your metadata, your control.
Modules are standalone executables that communicate via a simple JSON protocol. Write them in any language — Rust, Python, Go, C++ — with zero framework lock-in.
Write modules in any language. If it can read stdin and write stdout, it can be an EmbedCore module.
Each module bundles its own models and dependencies. Install or remove modules without affecting anything else.
No framework assumptions. Modules choose their own ML runtime — ONNX, PyTorch, TensorFlow, or pure DSP.
EmbedCore uses an embedded vector database powered by sqlite-vec. No separate process, no network calls — just SQL-level speed with vector intelligence baked in.
Find files by meaning, not keywords. K-nearest neighbor queries find semantically similar content across your entire library.
Combine vector search with structured filters. Search by BPM, resolution, file type, date — any metadata your modules extract.
Type what you're looking for in plain English. Modules translate your query into the same embedding space as your files.
From documents to photos to music to video — EmbedCore modules can understand and index any file type, enabling searches that cross modality boundaries.
PDFs, markdown, plain text — semantic search across your entire document library by meaning, not filenames.
EXIF data, visual embeddings, and content analysis — find images by what's in them, not what they're called.
BPM, key, timbre, loudness — search your music by how it sounds. Find similar tracks instantly by timbral similarity.
Container metadata, frame analysis, and temporal embeddings — index and search video content by visual and audio similarity.
Cross-modal search lets you describe what you're looking for in one modality and find results in another. Type a description and discover matching images, sounds, or clips — all powered by shared embedding spaces.
Filesystem watcher detects new and changed files in real time
Two-tier detection: fast mtime check, then SHA-256 hash for accuracy
User requests first, then new files, then reprocessing jobs
Topological sort ensures modules execute in the right order
Independent modules process files in parallel for maximum throughput
The processing pipeline handles everything — from detecting file changes to orchestrating module execution — so your library stays indexed without you thinking about it.
Filesystem events trigger processing automatically. Add files to a watched folder and they're indexed within moments.
Dependency graph analysis prevents circular module chains via depth-first search before any processing begins.
Every computation — from hashing to embedding — runs on your CPU and GPU. Nothing is offloaded to external services.
Built with Tauri and Rust, EmbedCore ships as a single native binary with no runtime dependencies. Lightweight, fast, and truly cross-platform.
Native .app bundle with Apple Silicon and Intel support. Lightweight, no Electron overhead.
AppImage and .deb packages. Runs on any modern distribution with minimal dependencies.
Native .exe installer. Leverages WebView2 for a snappy, memory-efficient desktop experience.
EmbedCore is being built for people who believe their files — and the intelligence extracted from them — should stay on their machine. Be the first to know when it launches.
No spam. One email when we launch.