The mail & calendar system
My mailbox is triaged twice a day so the inbox only ever holds what actually needs me. Triage runs in layers, cheapest first. Rules on the mail server act at the moment of delivery, before my laptop is even involved. Then a deterministic rules engine, plain Python with no model in it, handles the obvious: known senders swept on fixed lists (the people who matter checked first, so a rule can never bury someone important), newsletters deleted recoverably, promotions and receipts filed. Only what survives all of that reaches judgement, which reads the full thread properly: whether I have already replied, whether it needs a reply, a task, or nothing at all.
What comes out the other side is a dashboard, not a pile. Everything still outstanding sits in one place: replies drafted and ready for me to check, tasks created from whatever needs doing, and an awaiting view of threads where I have replied and am waiting on the other person. Filed and deleted mail is still logged day by day, so nothing disappears without a trace.
It never sends anything. That's a design choice, not a limitation. Every reply the system writes is prepared as a draft in Outlook, in my own voice, threaded exactly as if I'd clicked reply myself, and left there for me to read, edit, and send. Every call the system makes to my mailbox has every send action explicitly blocked, regardless of what else that call is allowed to do. The only way an email actually leaves is me pressing send myself. A system that drafts well is useful; a system that sends on its own is a liability I don't want, however good the drafts get.
The mailbox access itself is deliberately narrow. The connectors are custom-built MCP servers for Outlook: the off-the-shelf options for a Microsoft 365 mailbox are far thinner than Gmail's, and none offered what this setup needed most: permissions split finely enough to withhold sending entirely. Building them custom made that split possible. Reading, filing, and drafting are separate capabilities, and the send capability simply is not granted to the triage system at all, so the no-send rule is enforced by what the system can reach, not by asking it nicely. My university address forwards into the main mailbox and is swept into its own folder on arrival, so one triage covers both lives.
Corrections make it better over time rather than needing a rebuild. If I keep marking a sender's mail the same way, that sender graduates into the automatic rules and stops needing a judgement call at all. If I correct where something got filed, or the tone of a draft, that correction is recorded and applied going forward. The system needs fewer judgement calls the longer it runs.
Threads with people in my network log themselves against those people automatically. A separate daily process scans mail threads, matches the senders against the people I already track, and writes a dated note for that thread linked to the right person, so it shows up on their page. The same account access also feeds my calendar into the daily surfaces, so meetings, tasks, and mail all arrive in one place each morning instead of three separate checks.