Work / 320px
An inbox that explainsitself.
A new email product, from first commit to production in under a week: private mailboxes, source-linked summaries and questions answered from your own mail, with a classification flow that keeps rules and inference in their place.

The company
320px is an email product from the Reach Out Labs studio. People claim a username, receive mail at their own 320px.com address and see it organised into Activities, Projects, Work and Newsletters, with summaries that link back to the original messages and an Ask function that answers questions from them. Workspaces can add custom domains and invite members.
The project
The brief was to build the whole product, not a prototype: mail transport, storage, the reading interface, the AI layer and the operations around it, with the originals always available next to any generated text. The hardest design question was where to let a model decide and where not to.
What we did
Product and interface
A server-rendered web application with a dedicated design system, live workspace updates and public help and retention pages written in plain language.
Mail infrastructure
A customised Postal fork receives, forwards and sends mail. Originals are stored byte for byte with a checksum, external forwarding is optional, and custom domains are proven by DNS before use.
The classification flow
Every message passes through the same sequence. First, deterministic steps that always behave the same way: the original is stored and checksummed, the message is embedded, and candidates for related mail are retrieved by exact similarity within the same mailbox only, never across users. Second, inferential steps where a model is allowed to judge: which of the four areas the message belongs to, and whether a candidate really is related. Third, deterministic steps again: a relationship is kept only when it clears fixed similarity thresholds, no more than twelve candidates are ever considered, and a fingerprint prevents a summary from being regenerated when nothing has changed.
Why the balance matters
Rules are predictable but blind to meaning; models understand meaning but can be confidently wrong. Letting rules set the boundaries and models work inside them gives users summaries that are useful without being invented. A model can propose, but thresholds, scope and provenance are decided by code.
Operations
Encrypted off-server backups, a monthly isolated full-service recovery drill, an independent uptime monitor with its own alerting, an off-server deletion ledger and export and deletion flows for users.
Pulse at the centre
Pulse and 320px share the same mail infrastructure: the Postal fork that delivers 320px mail is the one Pulse uses for its sending domains, and Pulse issues its default per-organisation sending addresses under 320px.com.
ReachOut Pulse is the central data platform we build and run for our clients: first-party web analytics, contacts and segments, email campaigns, automations, assets and content in one organisation-scoped place. People use it in the Studio, systems use it through a REST API, and AI agents use it through an MCP server, with people approving the calls that matter.
AI in the workflow
Three models do the inferential work and nothing else. One classifies each incoming message into an area. One confirms whether two messages are genuinely related, after deterministic retrieval has already narrowed the candidates behind a strict similarity gate, and writes source-linked summaries and versioned area reports. One answers Ask questions from up to eight authorised sources, and every quote in an answer is checked verbatim against the source before it is shown. The guardrails are deterministic: models receive no tools and cannot send mail, an AI failure never rejects incoming mail, a leased job queue retries with bounded attempts, and a user’s correction overrides any automatic retry for good.
Outcomes
What changed,in numbers.
Figures from the classification design notes and the scope-completion and finalisation reports of 29 September to 1 October 2026.
- 6 days
- from first commit to the full-scope release
- 150+
- automated tests across application, auth, operations and monitor
- 0.85
- minimum similarity before two messages are even considered related
- 12
- candidates at most per message, fixed in code
- 1.8 s
- to answer a question from the mailbox in live tests
- < 2 min
- for a full isolated service recovery drill
Next case study
