A local-first inbox and live OTP companion for Windows
Download · Features · Usage · Installation · Privacy
Vortex merges multiple email accounts, RSS feeds, and messaging relays into one unified desktop stream. When a message arrives, it extracts verification codes in under 2 milliseconds and surfaces a floating always-on-top OTP card for one-click copying, while categorizing mail, scoring phishing risk, and indexing everything locally with SQLite FTS5.
Free and open source forever.
Vortex is an independent project.
If you use it regularly, you can support development via PayPal.
|
Live OTP overlay Extracts 4 to 8 digit verification codes in under 2 ms and displays a floating card at the corner of your screen for one-click copy. |
Multi-account & bulk sync Connect Gmail with one-click Google sign-in, or batch-import dozens of Gmail, Outlook, iCloud, Yahoo, and custom IMAP accounts in parallel. |
|
Smart categories & auto-sort Automatically routes messages into OTP, Billing, Orders, Security, Work, and Promotions, with optional priority sorting for unread codes. |
Phishing & link guard Flags suspicious senders and deceptive verification links before you click, and surfaces direct one-click verification and unsubscribe buttons. |
|
Paper-Ink & Dark themes Custom borderless native window with tactile 3D controls, smooth circular view transitions, and adaptive HTML email contrast normalization. |
Hardware-aware budgets Scales automatically from headless single-core boards (under 15 MB RSS) to full desktop workstations with instant SQLite FTS5 prefix search. |
|
Optional AI assistant Opt in per mailbox for message summaries, priority sorting, and reversible auto-hiding of confirmed promotions. Download optional local model presets through Ollama, connect llama.cpp, or use OpenAI / Anthropic. Disabled by default, with no bundled model or new runtime dependency. |
|
| Action | Result |
|---|---|
| Click floating OTP card | Copy verification code to clipboard and auto-clear after expiry |
Click × on OTP card |
Dismiss current code overlay |
| Drag top bar | Move the borderless native window |
| Double-click top bar | Toggle maximize / restore window |
Add mailbox -> Sign in with Google |
Connect a Gmail account without generating an App Password |
Add mailbox -> Bulk add accounts |
Import multiple email|app_password lines and sync in parallel |
| Click category pill | Filter stream by All, OTP, Billing, Orders, Security, Work, or Promotions |
Click Auto-sort |
Pin active OTP codes and unread messages to the top of the stream |
Click AI |
Enable the optional assistant, choose a provider/model, and select allowed mailboxes |
AI → Ollama → local model download |
Download Qwen2.5 0.5B (~398 MB) or 1.5B (~986 MB), with progress and cancel; requires installed, running Ollama |
Click Summarize with AI |
Analyze an existing message; new arrivals in opted-in mailboxes are analyzed automatically |
Enable Auto-hide promotions |
Locally archive promotions only when the classifier and model agree with high confidence |
Open Hidden by AI → Restore message |
Restore the message and exempt it from future automatic hiding |
| Click speaker / theme / language | Toggle tactile audio feedback, Light / Dark theme, or Vietnamese / English UI |
Local presets use general multilingual models with Vortex's mail-classification prompt. Downloads remain optional and do not enable AI or grant mailbox access. Model file sizes exclude runtime and RAM requirements; see AI Privacy for model sources and setup.
CLI commands
| Command | Result |
|---|---|
vortex or vortex daemon |
Launch the native desktop app and background sync daemon |
vortex status |
Show detected hardware tier, RAM, CPU cores, and item counts |
vortex account list |
List connected mailboxes |
vortex account add <email> <host> <port> <secret> |
Save credentials in the OS keyring and register an account |
vortex sync |
Trigger an immediate sync across all connected accounts |
vortex codes |
Print active OTP codes and remaining expiration times |
vortex inbox --q "<query>" |
Search local messages via SQLite FTS5 |
vortex action <archive|delete|read|pin> <id> |
Apply a quick action to a message by ID |
vortex rule add <name> "<dsl>" |
Add a custom classification rule |
vortex install-service <dir> |
Generate an OS startup manifest (Windows, systemd, or launchd) |
Vortex probes hardware resources at startup (RAM, CPU cores, arch, battery/AC, headless) and selects a runtime policy automatically. You can override this in vortex.toml with profile = "auto" | "lite" | "standard" | "full".
| Tier | Target hardware | Binary budget | Idle RSS budget | Runtime defaults |
|---|---|---|---|---|
lite |
Raspberry Pi, NAS, small VPS (<= 1 GB RAM or 1 core) |
< 6 MB |
< 15 MB |
Single-thread runtime, CLI + native notifications, 7-day body retention, AI off |
standard |
Laptop or desktop | < 6 MB |
< 25 MB |
Multi-thread runtime, native WebView2 UI (< 150 KB bundle), FTS5 prefix search, 30-day retention |
full |
Workstation (>= 16 GB RAM, >= 8 cores on AC) |
< 12 MB |
< 50 MB |
Everything in standard plus optional local AI (Ollama / llama.cpp) and 90-day retention |
Vortex runs on 64-bit Windows 10 or Windows 11 and uses the built-in Microsoft Edge WebView2 runtime for its native window and floating OTP overlay.
- Download
vortex.exefrom Releases. - Run
vortex.exeto open the desktop app. - Click Add mailbox to sign in with Google or paste your IMAP app passwords.
Build from source
# Quick build and launch on Windows
.\r.ps1
# Or build the stripped release binary directly with Cargo
cargo build --release -p vortex-cliThe release binary is produced at target/release/vortex.exe.
Vortex runs locally on your machine and does not collect telemetry, analytics, or usage tracking.
- OS keyring storage: IMAP passwords and secrets are stored in Windows Credential Manager, macOS Keychain, or Linux Secret Service, and are never written in plain text to
vortex.toml. - Sandboxed email rendering: HTML emails render inside an isolated iframe with scripts stripped and remote tracking pixels blocked by default.
- Local database: Messages, extracted OTP hashes, and FTS5 search indexes live in a local SQLite database (
vortex.db) on your disk. - Optional AI: Only opted-in mailboxes use the configured provider. Requests use bounded, redacted excerpts; OTP processing remains independent. Saved assistant settings persist in SQLite and take precedence over TOML. See AI Privacy for provider setup, auto-hide safeguards, and validation limits.
Threat Model · AI Privacy · Connectors · Contributing
If you like Vortex, check out other free and open-source Windows utilities by w0otdev:
- V-Notch - Desktop status, media controls, synced lyrics, and Dynamic Island companion for Windows.
- Vertex - Minimalist radial wheel file converter for Windows (built with Rust).
- Scroll-V - Smooth scrolling experience for all Windows applications (built with C#).
Vortex is licensed under the MIT License. See LICENSE for details.
