← Playground
Joist Trust Sandbox, verified voice-to-invoice happy path
Verified path: catalog match clears the invoice to send

PROTOTYPE1 WEEK BUILDJUL 2026

Joist Trust Sandbox

Voice-to-invoice for contractors: verified when matching is solid, amber review when it isn’t.

ProductPrototypeAI

Overview

Contractors dictate invoices in parking lots. For a Joist interview, I built a sandbox that turns spoken or typed field notes into a draft invoice, with a clear split between a verified path when catalog matching is solid and an amber path when a human needs to step in before anything sends. Speech-to-text was the easy part. The harder problem was what happens when the catalog does not line up perfectly: accents, noise, slang, and partial phrases break naive matching, and a wrong SKU on an invoice is worse than a blank line.

The problem

Automating invoicing sounds clean until you are on a job site. If the product auto-fills with low confidence, people learn not to trust it. If it blocks on every ambiguity, it is slower than typing. The product question was how to stay out of the way when matching is strong, and be explicit about needing a human when it is not, without turning every draft into a review chore.

Approach

I put trust in the UI instead of burying it as a backend score. The handshake engine streams phase logs so you can watch matching happen. High-confidence paths go straight to a clean phone invoice. Gaps (quantity weirdness, missing price, fuzzy catalog hits) surface as amber review, where a mediation UI lets someone fix line items before send. Demo shortcuts inject verified and amber scenarios so the story still works without a perfect mic, which mattered for interview delivery.

What I built

A three-column sandbox with voice/text intake and a parts playground of about 69 contractor SKUs across trades, live handshake trust logs, and a smartphone invoice preview. It includes catalog browse, mediation cards for physical and labor lines, and a success state when the draft clears. Presenter scripts cover interview delivery for the happy path, crew slang, and noisy speech-to-text, so the trust story is demoable under pressure.

Joist Trust Sandbox, amber path requiring human review
Amber path: trust gaps surface for human review before send
Joist Trust Sandbox idle three-column layout
Idle layout: voice capture, transcript, and invoice preview
Joist Trust Sandbox on a narrow viewport
Same trust states stacked for mobile

1

Speak or type a field note

Step 1 of 4: Speak or type a field note

Key takeaway

Key takeaway

In field software, autonomy only helps when the product is honest about uncertainty. The trust score matters less than whether the UI makes the handoff obvious: stay out of the way when matching is solid, ask before a bad line item ships when it is not.

What's next

A real STT model beyond browser Web Speech, richer gap types, multi-invoice sessions, and tighter coupling to actual Joist catalog and pricing rules if this ever left sandbox land.

Tech stack

  • React
  • Vite
  • TypeScript
  • Tailwind
  • Framer Motion
  • Web Speech API
  • Vitest