Lyn
A fast, local-first desktop working-memory companion for developers and focused computer work.
local-first · desktop · tauri · rust · svelte · sqlite
global shortcut → type, paste, or record → Enter → return to work
Lyn captures titleless text notes, screenshots, and voice notes, associates them with the project and Git branch you were just in, and keeps them in a chronological Library with local search. Everything stays on your machine.
Traditional note apps interrupt flow: open a notebook, name a page, pick a folder. Lyn is the opposite—an always-available capture surface that preserves the thought with the context it came from, then gets out of the way.
- Local-first: core capture never depends on accounts, cloud APIs, or remote AI.
- Context-aware: optional VS Code, Cursor, Browser, Kitty, and shell providers bind to the pre-popup window; you can always choose manually.
- Save first: enrichment (optional local speech captions) never blocks a successful save.
Installers are published on GitHub Releases (manual download; no in-app auto-updater).
| Artifact | Platform | Notes |
|---|---|---|
.deb |
Linux (Debian/Ubuntu-family, x86_64) | Preferred on Pop!_OS / Ubuntu |
.tar.gz |
Linux x86_64 | Portable binary + LICENSE + README |
.exe (NSIS) |
Windows x86_64 | Experimental until owner smoke-tested |
Signing: v1 artifacts are unsigned. Windows may show SmartScreen / “unknown publisher”; that is expected until Authenticode is added later.
| Target | Status |
|---|---|
| Pop!_OS 22.04 LTS / Ubuntu-compatible, x86_64, X11 | Verified baseline (dev); package install pending owner smoke |
| Windows x86_64 | Expansion — buildable; claim support only after .exe smoke |
| macOS | Deferred |
| Wayland | Deferred |
Toolchain for from-source builds: Node 24.12.0, pnpm 10.28.0, Rust 1.96.1, plus Tauri 2 prerequisites for the host OS.
git clone https://github.com/mibienpanjoe/lyn.git
cd lyn
pnpm install
pnpm tauri devDefault shortcut: Ctrl+Shift+Space opens quick capture. The Library window is the main shell.
# Linux host → .deb under src-tauri/target/release/bundle/deb/
# → .tar.gz under dist-packages/
pnpm package:linux
# Windows host → NSIS .exe under src-tauri/target/release/bundle/nsis/
pnpm package:windowsUpload those assets to a GitHub Release, or push a v* tag / run the release workflow so CI builds Linux + Windows and attaches them automatically.
Other useful commands (full list in AGENTS.md):
pnpm test
cargo test --manifest-path src-tauri/Cargo.toml| Area | What you get |
|---|---|
| Quick capture | Text, screenshot paste, voice note; Enter saves and dismisses |
| Context | Live sessions + saved contexts; ambiguity never guesses |
| Library | Chronology by project, detail inspection, capture deletion, play/open media by opaque ID |
| Search | Bounded local FTS over note bodies and user-visible captions |
| Settings | Shortcut, theme, provider tie-break order, 1-click integrations installer, optional local speech model, installed app version |
Settings can install a CPU-only whisper.cpp engine and multilingual Whisper base model after an explicit user action. Model install is the only network-capable path; capture and Library work offline without it. See docs/09_local_speech_distribution_decision.md.
Providers are optional. You can configure all of them with 1-click directly in Lyn Settings (under Integrations & Context Providers) with zero terminal commands, or manually using the guides below:
- VS Code & Cursor:
integrations/vscode/— 1-click install in Lyn Settings, orpnpm provider:vscode:package→ install/tmp/lyn-context-provider.vsixviacodeorcursor - Browser (Chrome, Chromium, Brave, Edge, Firefox):
integrations/browser/— 1-click register in Lyn Settings, orpnpm provider:browser:install→ load unpacked extension in browser - Kitty:
integrations/kitty/— 1-click configure in Lyn Settings, or watcher path inkitty.conf - Shell helper:
integrations/shell/— 1-click add to~/.bashrcin Lyn Settings. Opening Lyn refreshes the helper automatically; start a new terminal after an update.
Providers never send terminal output, editor buffers, or agent chat into Lyn.
SPDX: MIT
Optional local speech downloads (whisper.cpp / Whisper base) are also MIT-licensed upstream; release notes must retain their attribution when those components are documented.

