{"slug": "i-built-skim-a-free-open-source-email-client-for-windows-with-byok-ai-mit", "title": "I built Skim: a free open-source Email client for Windows with BYOK AI (MIT)", "summary": "A developer built Skim, a free open-source email client for Windows that uses BYOK (bring your own key) AI. The client features agentic AI that can search and read emails, treats HTML email as hostile with three layers of sanitization, and operates offline-first with instant local updates. The installer is under 5 MB, built with Tauri 2 and Rust, and supports AI providers like Anthropic, OpenRouter, and local Ollama.", "body_md": "*I built Skim because I tried to find a Windows email client that doesn't suck that hard and couldn't really find one.*\n\n**Quick feature list:**\n\n**AI features are pretty basic:**\n\nThe UI part is easy to vibecode. These bits were not.\n\n**Getting the installer under 5 MB took real work.**\n\n`panic = \"abort\"`\n\nalone dropped about 6 MB of unwind tables from the binary, that's 23% off the NSIS installer. I ship a single crypto backend (ring, with `aws-lc-rs`\n\nswitched off) so I'm not compiling a second, unused crypto library into the thing. I even wrote a tiny Vite plugin that deletes legacy `.woff`\n\nfonts, since WebView2 always uses woff2 anyway. Pretty much every dependency in `Cargo.toml`\n\ncarries a comment justifying its feature flags in kilobytes saved:\n\n```\nrustls = { version = \"0.23\", default-features = false, features = [\"ring\"] }\n# aws-lc-rs would compile a second, unused crypto library. ~2 MB of dead weight.\n```\n\nNo Electron, no bundled Chromium. Tauri 2 uses the system WebView2, so it installs per-user with no admin rights.\n\n**HTML email is treated as hostile.**\n\nEvery message passes three layers before it reaches your eyes: ammonia sanitizes it in Rust so unsanitized markup never crosses the IPC boundary, then it renders inside a sandboxed iframe with no `allow-scripts`\n\nand its own CSP, and the whole app runs under a strict app-level CSP on top of that. Remote images get stripped and counted, so you see a \"show images\" bar instead of silent trackers phoning home.\n\n**The AI is agentic, not RAG bolted on.**\n\n\"Ask your inbox\" is a real tool-calling loop. The model gets `search_emails`\n\n, `read_email`\n\nand `fetch_url`\n\n, runs its own retrieval over a few rounds, and answers with stable `[N]`\n\ncitations pointing back to the actual emails. `fetch_url`\n\ncan only open links that already showed up in your mail, and that allowlist never grows from the pages it fetches, so the web can't expand its own reach. BYOK the whole way: Anthropic, OpenRouter, or any OpenAI-compatible endpoint including a local Ollama, all hand-rolled over streaming.\n\n**Every action is offline-first for real.**\n\nArchive, delete, star, send: they all apply locally in a single SQLite transaction and land on an op queue. The UI updates instantly, the server catches up with retries, transient network/TLS/OAuth errors get retried while real failures roll the optimistic change back. Search is SQLite FTS5 with bm25 ranking, so it's instant and works offline too.\n\nIf you like this product, I humbly ask you to star the repo, upvote or even contribute! Btw, I already have one external contributor, and this guy rocks!\n\nIn case you didn't notice the links to the website all over this post: here is a big one:\n\n*🤓 Or, straight to Github repo: https://github.com/nikserg/skim*", "url": "https://wpnews.pro/news/i-built-skim-a-free-open-source-email-client-for-windows-with-byok-ai-mit", "canonical_source": "https://dev.to/dropdead_mouse/i-built-skim-a-free-open-source-email-client-for-windows-with-byok-ai-mit-4ji4", "published_at": "2026-07-24 09:19:34+00:00", "updated_at": "2026-07-24 09:34:50.027547+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-agents", "developer-tools", "ai-products"], "entities": ["Skim", "Tauri", "Rust", "Anthropic", "OpenRouter", "Ollama", "SQLite", "WebView2"], "alternates": {"html": "https://wpnews.pro/news/i-built-skim-a-free-open-source-email-client-for-windows-with-byok-ai-mit", "markdown": "https://wpnews.pro/news/i-built-skim-a-free-open-source-email-client-for-windows-with-byok-ai-mit.md", "text": "https://wpnews.pro/news/i-built-skim-a-free-open-source-email-client-for-windows-with-byok-ai-mit.txt", "jsonld": "https://wpnews.pro/news/i-built-skim-a-free-open-source-email-client-for-windows-with-byok-ai-mit.jsonld"}}