Commonplace is a local-first desktop markdown editor that keeps your documents on your filesystem. It pairs a React frontend with a multi-crate Rust backend to deliver a fast, native writing experience with professional export options.
Why I Built This
Most markdown editors either live in the browser, rely on cloud sync, or lack the polish of a native app. I wanted something that treats the filesystem as the source of truth, supports focused writing sessions, and can export to PDF, DOCX, and plaintext. Commonplace aims to remedy that as a Tauri-powered desktop app that feels lightweight but packs powerful functionality.
Features
- CodeMirror 6 editor with live markdown preview and split-pane layout
- Focus mode with typewriter scrolling and paragraph dimming
- NLP-powered style checking that flags filler words, redundancies, and cliches
- Multi-format export (PDF with inline preview, DOCX, plaintext) from a unified dialog
- Global quick capture hotkey for jotting down ideas from anywhere
- Full sidebar file browser with drag-and-drop, rename, and nested directories
- Session persistence that restores open tabs, pane sizes, and layout on relaunch
- Filesystem watching with automatic sync of external changes
Architecture
Commonplace is organized as a Rust workspace with three crates behind the Tauri boundary:
- commonplace-core — shared types and error contracts
- commonplace-markdown — rendering pipelines (comrak for parsing, docx-rs for DOCX)
- commonplace-store — SQLite-backed persistence and indexed search
The frontend uses Zustand for state management, a selector layer to decouple components from the store
shape, and a dedicated ports/ layer for all Tauri command interaction.
Planned Features
- Custom style rule definitions
- Plugin system for extended functionality
- Template support for recurring document types