Architectural drawing intake for a project-based business in New York
Architects email their drawing sets to the client as vector PDFs and scans, in five different title-block formats. We built an intake into the company’s own platform. It reads every sheet, files it as a new version, compares it with the previous issue and marks the changes for the trades they affect. Sheets the system is unsure about wait for a person.
- Client
- Project-based business, New York, under NDA
- With this client
- Second system, after field operations
- Scope
- 12 contract items
- Timeline
- One month, August to September 2026
- Stack
- Python, Next.js, Supabase, Vercel, Claude API
Acceptance results
| Sheets filed with no person involved, across five title-block formats | 54 of 56vector PDFs 28 of 28, scans 26 of 28 |
|---|---|
| Values the system accepted on its own, checked on review | 29 of 29every one confirmed |
| From the email arriving to the marked-up sheet | 2 min 30 s |
| Pipeline runs in 48 hours | 1,000all completed |
| Automated tests in the handover | 552 |
| Model spend at about 75 emails a day | $25–30a month |
How the sets arrived before
Drawing sets came in by email from several architecture firms. Every firm uses its own title block, so there were five layouts to read, some as vector PDFs and some as scans of printed sheets. Someone in the office filed each set by hand.
Silent revisions slipped through: a dimension or a wall changed on a sheet that looked like the last issue, with no revision cloud to point at it.
What happens to each email
Every ten minutes the system checks the inbox and runs each new email through seven steps. Whatever it is unsure about goes to a person first.
A rule cascade matches each email to its project by sender, copy list and address. By sender alone it matched 99.4% of the historical mail archive correctly. Every sheet keeps its page provenance, so a wrong merge can be undone.
Each set is checked against its own cover-sheet index, so a missing sheet shows up on arrival. When a project match or a title-block value is uncertain, the sheet waits in the confirmation queue until a person confirms it. The queue learns each title-block format over time, and hard cases always stay with a person.
What a marked-up sheet looks like
The comparison looks at pixels and text and reads the architect’s revision clouds. A change with no cloud gets marked too. Markup goes in as native PDF annotations, checked in Bluebeam Revu and Adobe Acrobat, so the sheet opens in whatever the office already uses.
Each person receives only the sheets of their own trade. Plumbing staff, for example, get the P sheets.
- Clouded change, revision 3. Read from the architect’s own cloud and delta.
- Silent change. A dimension went from 12'-6" to 12'-9" with no cloud.
Engineering decisions
Inside the client’s platform
The intake runs in the company’s existing Next.js, Supabase and Vercel stack, with no new servers and no new subscriptions.
A person on every doubt
Uncertain sheets wait in the confirmation queue and are never filed or sent on a guess.
Model spend by design
Text-layer PDFs are read deterministically at no model cost. The model reads only scans and email, about $0.043 per scanned page, under a daily budget cap.
It watches itself
Every set is checked against its cover-sheet index, and the pipeline monitors its own runs and reports to Telegram.
Safe to hand over
12 contract items, each tied to code and evidence. 14 database migrations that only add, a three-way merge that kept the client’s own changes, and a one-step rollback.
The client’s name, project addresses, architects and real sheets stay private. Everything on this page is described or redrawn.
Describe your bottleneck
If your drawings, specs and email live in five places, send one message: a voice note, text or a screenshot. You get a written assessment of where the information breaks and what a system to fix it would look like.
Or email v.karasov@gmail.com
More work
- CRM and GDPR data setupInternational football academy, Spain
- ATAMAN Studio: intake-to-contract systemDesign-build, Los Angeles
- Everything else we have shippedDemos, open source and client work on the homepage