ProductSense AI · Case studyDemo build · fictional business, simulated data

It read the scanned datasheet. And it can prove it.

OCR + vector search + chat over a messy industrial catalog — where the answer quotes a number that exists only inside a photocopied scan.

OCR extractionVector searchGrounded chatConfidence scoringPipeline observabilityReact + TypeScript

Live demos are password-gated — request access via the contact page and the password comes back in minutes.

ProductSense OCR split view: scan beside extracted blocksProductSense OCR split view: scan beside extracted blocks
The problem

Product catalogs live in scanned datasheets and supplier PDFs that keyword search can’t read — so support answers come from memory, or not at all.

What was built

A catalog assistant that OCRs documents and images into embedded text blocks, answers product questions with the matched source attached, and shows the scan beside its extraction — confidence scores and all.

The demo shows
  • A chat answer quoting a spec that exists only inside a scanned image
  • The OCR split view: skewed photocopy left, per-block extraction right
  • Semantic search ranking products from a vague plain-language query

The challenge

“Search our catalog” fails exactly where it matters: the stall torque is printed in a 2019 fax-quality scan, not in any typed spec sheet. If the system can’t read images, it can’t answer.

And OCR claims are cheap — the interface has to prove extraction happened, block by block, with confidence the buyer can inspect.

The solution — three decisions

01

Stage the “it read the image” moment

The hero answer quotes 4.2 kg·cm stall torque — a figure that exists only in the scanned KR-380 datasheet — and links straight to the split view that proves it.

02

Make the scan believably ugly

The rendered datasheet is skewed 0.4°, photocopy-speckled, typewriter-set. Everything around it is ruler-straight; the contrast is the point.

03

Confidence is a first-class value

Every extracted block carries its OCR confidence as a chip — 96.4% on the money row — because “trust me” is not an enterprise feature.

How it works

In
Scanned datasheetsfax-quality originals
Spec PDFs + photos300 catalog items
ProductSense pipeline
OCR extractionblocks + confidence scores
Embeddingsvector store · bge-m3
Grounded chatmatched-source answers
Out
Chat with proofone click to the scan
Semantic searchranked by meaning
Pipeline dashboardreconciling counts

The demo implements this shape end to end with a simulated service layer — the “extend for production” section lists what swaps in for live deployment.

Product tour

ProductSense OCR split view: scan beside extracted blocksProductSense OCR split view: scan beside extracted blocksThe photocopied original — skew intactPer-block confidence: 96.4% on the spec row
The split view: the original scan, skew preserved, beside its block-level extraction.
Chat answer with matched scanned sourceChat answer with matched scanned source
The answer cites its matched source — type SCANNED, OCR confidence attached, one click to the proof.
Semantic search results with similarity scoresSemantic search results with similarity scores
“Small quiet motor for a conveyor belt” — ranked matches with similarity scores and matched-block snippets.
Extraction pipeline dashboardExtraction pipeline dashboard
Uploaded → OCR → embedded, with 2,000+ text blocks that sum from the library itself.

What the demo shows

  • A scripted conveyor-duty question answered from the scan’s fine print
  • 300 catalog items across 80 products with pipeline states
  • Search that ranks by meaning, with a keyword fallback that also works
  • A re-OCR action wired into the low-confidence queue

Under the hood

  • The scan is CSS, not an image asset: skew, speckle, and print styling render a convincing photocopy that stays crisp at any size
  • Hero OCR blocks are hand-authored to match the scan exactly; other documents get plausible generated extractions
  • Search results derive from the product catalog, so every hit links to a real document view
  • Counts reconcile: library totals, pipeline KPIs, and block sums come from one dataset
Built as a demonstration — on purpose

Voltbridge Components is fictional and labeled as a demo on every screen. Nothing here is presented as client work: no client names, no outcome metrics, no testimonials. The proof is the running product — open the live demo above and check every claim.

What we’d extend for production

  • Real OCR (Tesseract/cloud) with layout-aware block detection
  • Embedding search over extracted blocks with hybrid keyword fallback
  • Supplier-email ingestion dropping attachments straight into the queue
Next step

Build something like this.

Fixed scope in writing before any money moves, demos during the build, and full code ownership at handover.

1%