MailForge
A self-hosted AI email classification and automation system integrated with Fastmail via JMAP.
Problem
Triaging incoming email — deciding what mattered, what could wait, and where it should go — was manual and inconsistent, and getting worse with volume.
Architecture
n8n orchestrates the pipeline against a Fastmail mailbox via the JMAP API: ingest incoming messages, classify them, then take mailbox actions. Classification runs through a locally hosted LLM (Qwen) that determines category, subcategory, importance, whether the message needs action, and the destination folder — combined with a deterministic rule layer rather than relying on the model alone. Processed messages are tracked to prevent duplicate handling on subsequent runs.
What I Built
Engineering Decisions
Challenges
Outcome
Self-hosted and in active daily use.
What I Learned
The deterministic rule layer ends up doing more of the reliability work than the model — the LLM is best spent on the fuzzy middle of the decision, not the whole thing.