Load emails in.
Clean load records out.
Freight dispatchers retype load emails all day. Dispatch Inbox turns a messy email or PDF rate confirmation into a reviewable load record in about three seconds, for about a cent.
Need a truck for Thursday 11/19. Pickup at our Allentown plant, 7am–1pm. Going to Tidewater Supply, Richmond VA. 26 pallets, about 31,000 lbs. 53' dry van. Our ref is KP-30118.
- Pickup
- Allentown, PA · 11/19 07:00–13:00
- Delivery
- Richmond, VAMissing
- Weight
- 31,000 lb · double-check
- Equipment
- 53' dry van
- Rate
- —Missing
Hi Tom, could you send the rate and the delivery date and time for KP-30118? Once I have those I'll confirm the truck.
Every load arrives in a different shape
Small freight brokers and dispatchers run on email. Load requests come in as quick notes, long forwarded threads, and PDF rate confirmations. Someone reads each one, retypes the pickup, delivery, dates, weight, equipment and rate into a spreadsheet or TMS, then writes back to the shipper for whatever's missing. The details that matter most, like a rate revised three replies down or a date that doesn't exist, are the easiest to miss.
AI does the retyping. A person signs off.
- Extraction with a contract. Each email or PDF goes to Claude Sonnet 5.5 with a strict JSON schema, so every response has the same shape. Absent values come back empty instead of guessed, and ambiguous ones are flagged. PDFs are read natively, with no separate OCR step.
- Review before it counts. The source document sits beside editable fields. Missing fields are outlined red, uncertain ones amber, and nothing is final until a person stamps it approved.
- Close the loop. When details are missing, Claude Haiku 5.5 drafts a short, polite email asking for exactly those items. It only sees the structured fields, never the raw email, which keeps it cheap and stops text hidden in an email from steering it.
- Measure, then tune. Eight fictional documents, from tidy emails to a messy forwarded thread and an email with an impossible date, run through the app's own extraction code and are scored against an answer key. Prompt changes are judged on that score.
- Production basics from day one. Row-level security on every table, API keys used only on the server, per-user rate limits, a self-healing shared demo account, and a cost log for every AI call.
Accurate, fast, and reviewable
The tricky samples are where it earns its keep. In a forwarded thread where the shipper raises the rate from $1,600 to $1,750 in the last reply, it picks the final rate and the right contact. Given a pickup date of “friday 11/31”, which doesn't exist, it flags the date for a person instead of inventing one. Missing details become a ready-to-send follow-up with one click to copy.
Priced per token, measured per call
| Step | Model | Cost |
|---|---|---|
| Extract an email | Claude Sonnet 5.5 | ~0.8¢ |
| Extract a 1-page PDF | Claude Sonnet 5.5 | ~1.3¢ |
| Draft the follow-up | Claude Haiku 5.5 | ~0.01¢ |
About one cent per load. A dispatcher handling 50 loads a day would spend roughly $10–15 a month on AI.
Next.js and TypeScript, Tailwind and shadcn/ui, Supabase (Postgres with row-level security, magic-link auth, file storage), the Anthropic API with structured outputs, and Vercel. Live cost and speed numbers are on the About page.
The demo is seeded with sample loads. Paste your own load email or drop in a PDF rate confirmation.