Personal project · Solo build
OrderHub AI
An AI assistant that turns messy, free-form purchase orders — email threads, PDFs, screenshots of spreadsheets — into clean, validated orders a small business can act on in seconds.
Why I built it
Running Brand Vibes 360, I built eCommerce and order-management workflows for small and mid-sized businesses. The same bottleneck showed up at nearly every client: orders arrived as unstructured text, and someone re-typed each one by hand.
I'd also led requirements for an AI-enabled transaction monitoring system at First Republic Bank — defining model inputs, risk thresholds, explainability, and the feedback loop that let the model keep improving. OrderHub AI is me taking that same discipline and owning it end to end, as the builder rather than the analyst.
The problem
Small distributors still receive most orders as unstructured text. Someone re-types each one into an ERP by hand — slow, error-prone, and the first thing to break when volume spikes.
In early conversations, every operator described the same day: two hours of copy-paste before the real work starts.
What I built
Ingest anything
Email, PDF, and image intake normalized into a single document pipeline.
Extract & match
An LLM extracts line items, then matches each to the real product catalogue with a confidence score.
Human in the loop
Low-confidence rows surface for one-click review instead of failing silently.
Eval harness
A labelled set of real orders regression-tests every prompt and model change — the QA instinct, applied to a model.
Product decisions
- Review over automation. Full auto-submit tested worse than assisted review — trust was the bottleneck, not speed.
- Confidence as a first-class field. Exposing model uncertainty made the product feel honest, and made errors cheap to catch. The same explainability requirement I'd written specs for in banking.
- Narrow the catalogue first. Matching accuracy jumped once I scoped retrieval per-customer instead of globally.
- Ship the eval before the feature. Every prompt change is measured, so "it feels better" never decides a release.
Outcome
FILL IN — use only numbers you can defend in an interview, then delete this note.
- Extraction accuracy on the held-out set: [ before ] → [ after ]
- Average handling time per order: [ before ] → [ after ]
- Size of the labelled eval set: [ n orders ]
Next: multi-currency handling, and a shared queue for teams. Happy to walk through the architecture and the eval results — get in touch.