Engineering
The AI We Build
We are not an AI consultancy that has never run a model in production. We build AI into our own product, carry the cost of it, and answer for it when it gets something wrong. This page is what that actually amounts to today, with the roadmap kept separate from the shipped work.
AI Summary
Mail arrives as a photograph of an envelope and, once opened, a set of scanned pages. That is enough to prove something came, and not enough to know whether it matters. A renter living overseas still has to open each scan to find out whether it is a property tax notice with a deadline or a flyer.
AI Summary closes that gap. A vision model reads the scan and writes a short plain-language summary: what the document is, who sent it, and any dates, amounts or actions it demands. The renter sees it next to the mail item and can decide what to do without opening anything.
From
City of Toronto, Revenue Services
AI Summary
Property tax installment of $412.55 due July 31. Payment options include online banking; a late fee applies after the due date.
Example output. No real mail is shown.
What runs it
- Model
- A vision model, reading the scan
- Chosen, prompted and paid for by us
- Inference
- Rented inference, billed per run
- Not our own GPUs, yet
- Input
- Scanned page, image or PDF
- PDFs are rendered to an image first
- Default
- Off until enabled
- Per renter, reversible at any time
How It Behaves
The Parts That Are Not the Model
Choosing a model is the easy half. The half that decides whether a feature survives contact with production is what happens around it.
Two ways in
A summary starts automatically once an open scan finishes, but only for renters who turned the feature on. There is also a manual trigger that runs it on demand, even when the automatic setting is off.
It finds something to read
The model needs an image. We take the first scanned page if there is one, otherwise we render page one of a scanned PDF, otherwise we fall back to the file uploaded with the mail. If none of that exists, the job is marked skipped rather than failed.
It cannot break the app
Summarization runs in the background and never throws into the request that triggered it. Every failure is caught, logged with a status of its own, and left for a manual retry.
It cannot run away with cost
A completed summary is final and is never regenerated. Reruns and repeated clicks return the existing result instead of paying for inference again.
The renter decides
AI summaries are off until a renter turns them on, and can be turned back off at any time from account settings. Summaries are generated for the mailbox owner only.
Written for a vision model
The prompt lives in our source, not in a console. It asks for a one-line description of the document followed by a short summary naming the sender, dates, amounts and any action required.
Roadmap
What We Have Not Built
Listed here rather than on the feature list, because neither of these is running in production today.
Milo
An assistant that would let a renter ask questions across their whole mailbox history rather than reading one summary at a time. Designed, not shipped.
Self-hosted inference
Today we rent inference. Moving the vision workload onto our own GPU capacity is the next step we are evaluating, driven by cost per scan and by keeping document processing closer to home.
Working With Us
Want This Kind of Work on Your Product?
The same team that built and operates this is available for outside work. Tell us what you are trying to automate and we will tell you honestly whether a model is the right answer.