Skip to content

OrchestrAI

A shopping agent that turns a ten-step, multi-retailer checkout into one conversation.

My role
Full-stack engineer
When
2024
Status
Open source
Stack
JavaScript, Tool calling, REST APIs
Working on the OrchestrAI codebase

01

Where it started

Online shopping is spread across dozens of retailer sites with inconsistent stock data and repetitive checkout forms, so comparing and buying one item can take ten or more manual steps.

02

What I owned

Full-stack engineer

03

How I built it

  • Chained structured tool calls to query retailer catalogues, harmonise specs and rank items by price-to-spec ratio.
  • Kept the basket in an immutable client store, so the model could never hallucinate items or quantities.
  • Queried retailers concurrently with a 1.8s timeout, and validated every upstream payload with Zod.
[User: "Find me a 4K 144Hz monitor under £300 and ship to London"]
                                   │
                                   ▼
                       [OrchestrAI Agent Core]
                                   │
                ┌──────────────────┼──────────────────┐
                ▼                  ▼                  ▼
       [Retailer API #1]   [Retailer API #2]   [Retailer API #3]
                │                  │                  │
                └──────────────────┬──────────────────┘
                                   ▼
                [Ranker & Specification Harmoniser]
                                   │
                                   ▼
          [Single-Click Multi-Item Checkout Orchestrator]
System architecture

Deterministic cart state store

The basket lives in an immutable client store, preventing the LLM from inventing items or altering quantities.

Latency optimisation

Concurrent retailer queries via Promise.allSettled with a 1.8s timeout return the fastest results without blocking.

Hardening: Prompt input sanitisation to block injection attempts that try to tamper with cart values or delivery addresses.

04

What changed

A ten-plus-step shopping journey compressed into one conversational flow, with zero hallucinated checkout charges.

JavaScriptTool callingREST APIsZod