Inspiration

Shopping for a deal sounds simple until the listing is ambiguous, delivery changes the price, or a “discount” is not actually valid. We wanted Scout to feel less like a product-search box and more like a careful shopping companion: it should ask what matters, verify the evidence, and make a recommendation a person can trust.

What it does

Scout turns a natural-language shopping brief into hard requirements, asks clarifying questions before monitoring when information is missing, and checks merchant offers against the exact product, variant, seller policy, stock, coupon, and delivered-price cap. It explains the recommendation in chat, preserves the request and its audit trail, and keeps checkout behind explicit consent.

How we built it

We built Scout with Next.js, React, TypeScript, Drizzle, and SQLite. The domain layer handles product matching, landed-cost calculation, verification, policy, notifications, and audit records; the merchant-event engine keeps the experience repeatable. OpenAI-powered voice intake and the Scout companion share the same structured brief-review flow as typed chat, so voice never bypasses confirmation or payment safeguards.

Challenges we ran into

The hard part was not showing a low price—it was proving that the offer was for the right product and still met every constraint. We had to handle near-matches, currency conversion, delivery cost, invalid discounts, stock, and ambiguous user requests without producing noisy or unsafe recommendations. Persisting chat state while keeping the conversation responsive across text and voice was another important integration challenge.

Accomplishments that we're proud of

  • A complete demo journey from brief to clarification, monitoring, verified recommendation, and purchase approval.
  • Clear Nike, MacBook, and Iittala journeys that show why an offer passes or fails.
  • Delivered-price reasoning instead of sticker-price comparisons.
  • A voice-first Scout experience that still requires explicit user confirmation for monitoring and purchases.
  • An audit-friendly architecture that separates matching, pricing, verification, policy, and UI concerns.

What we learned

Trustworthy agent behavior starts with making constraints explicit. A model can make the conversation natural, but deterministic checks should make the decision. We also learned that a useful shopping agent must know when to ask one focused question, when to wait, and when not to buy—even if an offer looks attractive at first glance.

What's next for Scout

Next, we would expand the catalog and merchant integrations, add real-time offer ingestion with stronger seller and inventory verification, and give users richer controls for monitoring, alerts, and consent. We would also evaluate matching precision and false-buy rate at scale, then connect the payment boundary to a production flow only after those safeguards are proven.

Built With

Share this project:

Updates