Speak it, capture it, clean it, read it — locally.
ExoQuill is a lightweight, local-first desktop app for capturing, cleaning, reading and organizing text from multiple sources. It centers on a single global note list, and every AI tool writes into notes:
- 🎙️ Dictate — live local speech-to-text
- 🖼️ OCR — text from files, drag & drop, and clipboard images
- ✨ Format — AI-assisted cleanup of rough text into readable Markdown
- 🔊 Read — text-to-speech read-aloud with a calm local voice
Optimized for German and English, runs offline by default, deliberately minimal.
Not a chatbot, not an Obsidian/OneNote clone, not a cloud AI wrapper, not an audio editor, not a transcription suite, not a translation tool. It is a focused local writing/capture utility.
- No cloud calls, no telemetry, no automatic uploads.
- Raw audio is not stored by default.
- All models run locally; you can delete all local data at any time.
Official support is limited to German and English, including mixed German speech with English technical terms as a first-class use case.
Pre-alpha — building toward v0.1. See the roadmap.
Windows installer / portable build — coming with the first v0.1 release.
ExoQuill v0.1 bundles all required local models (STT, OCR, formatter, TTS). There is no separate download step for the MVP. See decisions (D5).
Prerequisites:
- Rust (stable,
x86_64-pc-windows-msvc) + MSVC C++ build tools - Node.js 20+ and pnpm
- WebView2 (preinstalled on Windows 11)
pnpm install
pnpm tauri dev # once the Tauri app skeleton lands (PR 0/1)The full plan lives in docs/roadmap.md; product/technical decisions in
docs/decisions.md; the original product spec in
.workspace/specs/exoquill-product-spec.md.
See CONTRIBUTING.md. In short: focused PRs, tests for core changes,
no telemetry, no cloud dependency for core features.
GPL-3.0. ExoQuill bundles GPL components (e.g. the Piper TTS runtime); the project license is GPL-3.0 to stay compatible. See decisions (D1).