frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

MailVault – Free, open-source email client that stores emails locally as .eml

https://mailvaultapp.com/
4•spacecash21•1h ago

Comments

spacecash21•1h ago
Hey HN,

I built MailVault, a free and open-source macOS email client focused on one thing: owning your emails locally.

The idea came from a friend who works in logistics. Every few months he'd hit his 10GB mailbox cap — packed with CMR documents, invoices, and shipping confirmations he legally can't delete. His options were always: pay for more server storage, manually export to desktop folders, or risk losing records he's required to keep. I figured there should be a better way.

What it does:

MailVault connects to any IMAP account (Gmail, Outlook, Yahoo, iCloud, Fastmail, ProtonMail via Bridge, etc.) and stores every email as a standard .eml file in Maildir format on disk. No proprietary database — one plain text file per email. You can open them in Apple Mail, Thunderbird, or any mail client. Even after emails are deleted from the server, your local copies remain searchable and accessible offline.

Tech stack:

- Tauri v2 (Rust backend + React frontend) — no Electron, no bundled Chromium - Native Rust IMAP/SMTP via async-imap + lettre — all email operations run in-process, credentials never leave the app - OAuth2 PKCE for Gmail and Microsoft 365 — uses Thunderbird's public client IDs, so no app registration needed - macOS Keychain for credential storage, App Sandbox enabled

Some engineering I'm proud of:

Earlier versions used a Node.js sidecar for IMAP, which turned into a saga of sandbox failures — WKWebView blocking blob URLs, App Sandbox blocking localhost HTTP, port conflicts, JIT restrictions. The fix was rewriting everything in native Rust, which eliminated an entire class of problems.

For large mailboxes (tested with 17k+ emails), I implemented CONDSTORE delta sync (4-tier decision tree that can skip IMAP calls entirely when nothing changed), ESEARCH for compact UID responses, COMPRESS=DEFLATE (~70-80% bandwidth reduction), UID range compression, chunked fetches, a two-pool connection design (background vs. priority), and virtual scrolling with fingerprint-based memoization.

There's also a chat view that merges sent + received emails into iMessage-style conversation bubbles, which turned out to be a surprisingly nice way to read email threads.

Links:

- Website: https://mailvaultapp.com

- GitHub: https://github.com/GraphicMeat/mail-vault-app

- macOS only for now (Intel + Apple Silicon). Linux is the next platform on roadmap.

Happy to answer any questions about the Tauri/Rust IMAP architecture, the sidecar migration, or anything else.

Brajeshwar•1h ago
I could not find the ability to import `.mbox`. Do you have plans for it or am I looking at the wrong options. Gmail exports as .mbox. I have been using Thunderbird as my mail backup but I need to do things manually. 20+ years of mails are scattered across a few mailboxes and exports. I would love to import them in a single searcheable archive.

I like replying to emails from the 2005s, 2010s, etc. Of course, the recipients love them too.

spacecash21•53m ago
Haven't consider this kind of functionality yet, but I think this is the kind of functionality we need in the product that is being built. I believe maildir is a better format for email cold storage. But ability to import .mbox - a real world need. Added it to the TODO list.

Current short term roadmap, with random priorities: - Outlook oath fix - Linux release - .mbox import - search improvements, to have more powerful search

Love your use case of replying to emails from the past.

Heroku: What's Next

https://judoscale.com/blog/heroku-whats-next
1•doppp•2m ago•0 comments

Ask HN: Have LLMs sapped your motivation for open source?

1•anonnon•6m ago•0 comments

Lawyers may be lying about using AI

https://findthefuckup.com/
1•jpgenl•7m ago•1 comments

Mandalorian Project – Sovereign Mobile Computing

https://iamgodofall.github.io/mandalorian-project/
1•Godofall•7m ago•1 comments

Google and OpenAI employee support letter for Anthropic

https://notdivided.org
2•yayr•12m ago•1 comments

Is Love Addictive? Many Say Yes, and It's Changing Our Idea of Romance

https://www.nytimes.com/2026/02/18/magazine/love-addiction-disorder-explained.html
2•herbertl•12m ago•1 comments

The Kind of Joke No One Makes Anymore

https://nik.art/the-kind-of-joke-no-one-makes-anymore/
2•herbertl•17m ago•0 comments

Built a Hacker News Client for Terminal

1•shivkmojha•19m ago•0 comments

" AI infrastructure is controlled by companies making toilets, MSG, and glass"

https://twitter.com/Gaurab/status/2024259874276999338
1•ZeljkoS•22m ago•0 comments

Claude Code Skills and 380 agent skills from official dev teams and community

https://github.com/VoltAgent/awesome-agent-skills
1•saikatsg•23m ago•0 comments

Eth.zig: The fastest Ethereum library. Pure Zig. Zero dependencies

https://www.ethzig.org/introduction
2•jedisct1•25m ago•0 comments

AI agents are fast, loose, and out of control, MIT study finds (ZDNET)

https://www.zdnet.com/article/ai-agents-are-out-of-control-mit-study/
1•ildar•26m ago•0 comments

AI Agent Crypto Wallets Create New Legal Risks, Investors Warn

https://www.ccn.com/news/crypto/ai-agent-crypto-wallets-legal-risks-investors-warn/
1•ildar•26m ago•0 comments

Get free Claude max 20x for open-source maintainers

https://claude.com/contact-sales/claude-for-oss
1•zhisme•27m ago•0 comments

Working on Pharo Smalltalk: BPatterns: Rewrite Engine with Smalltalk Style

http://dionisiydk.blogspot.com/2026/02/bpatterns-rewrite-engine-with-smalltalk.html
2•mpweiher•31m ago•0 comments

Show HN: RunVeto – A Simple Kill Switch for Autonomous AI Agents

https://www.runveto.xyz/
1•JDPatel1729•32m ago•0 comments

The LLM App Isn't a Model, It's a System: Designing for Quarterly Model Swaps

https://garybake.com/seams1.html
1•garybake•35m ago•1 comments

An Unbiased OSS Benchmark. For Code Review Agents

https://codereview.withmartian.com
2•alokDT•36m ago•0 comments

The 'Million AI Monkeys' Hypothesis and Real-World Projects

https://ayende.com/blog/203907-B/the-million-ai-monkeys-hypothesis-real-world-projects?key=76196b...
1•ayende•36m ago•0 comments

Merrilin – We built an app to read books

https://tech.stonecharioteer.com/posts/2026/merrilin/
3•stonecharioteer•37m ago•1 comments

Software development now costs less than than the wage of a minimum wage worker

https://ghuntley.com/real/
1•ghuntley•40m ago•0 comments

My personal blog's traffic is 95% AI crawlers this week

https://c0n0.com/posts/ai-traffic/
2•jealousgelatin•42m ago•0 comments

Does journaling help people understand themselves long-term?

2•ashutoshbhatia•42m ago•1 comments

Template for telling the truth on layoffs like at Block

2•nutanc•43m ago•0 comments

Reddit disables any access to R/all on mobile

https://www.reddit.com/r/help/s/vnPnnrsUPm
1•embedding-shape•43m ago•1 comments

HikmaAI – The AI Agent Supply Chain is Broken. Here is how we fix it

https://twitter.com/HikmaAi_/status/2027286845290098768
2•NibrasSB•44m ago•0 comments

How to Run Services on a Linux Server

https://huijzer.xyz/posts/150/how-to-run-services-on-a-linux-server
1•huijzer•46m ago•1 comments

AI voice agents for hotels: lessons from 15,910 real guest calls

https://polydom.ai/blog/what-16-000-hotel-phone-calls-taught-us-about-ai-voice-agents
2•wastemaster•46m ago•1 comments

Show HN: I Created an Interactive Resume Space Invader Game

https://breezko.dev
3•breezk0•46m ago•0 comments

Show HN: Asupersync, the Cancel-Correct Async Runtime for Rust

https://asupersync.com/
2•eigenvalue•47m ago•0 comments