Products/Ecommerce Ops Agent·Agentic Commerce

Ecommerce Ops Agent

A skincare storefront where the search bar is a conversation. Type what you want — the agent finds it, remembers you, and never recommends something you're allergic to.

Search by concern

something for acne-prone skin
Here are some products for acne-prone skin:
4Agent tools — search, profile memory, cart, view cart
20Products in the live catalog, real ingredients & prices
6Models in the fallback chain — 5 Gemini tiers, Anthropic last
14Deterministic tests on the tool/DB layer, no LLM needed
0Allergy checks left to the model to remember — all in code
Why Ecommerce Ops Agent

Built to make a difference.

No filters, no dropdowns

"Moisturizer for dry, sensitive skin under 500" is the whole query. The agent infers intent from one sentence instead of five clicks through a filter sidebar.

Allergy-safe by code, not memory

State an allergy once — it's enforced as an unconditional rule on every search after that, in code. Not something a clever phrasing can talk the model out of.

Remembers you, not just the session

Skin type, concerns, allergies, and brand preferences are captured once and silently applied to every later search — no repeating yourself.

Never goes down on one provider

If the primary model has an outage, the agent fails over through five more tiers before giving up — the shopping experience doesn't break for the shopper.

See it

A real, hosted storefront.

No demo video — these are live screenshots of the actual deployed app.

Storefront homepage

Product listing page

/help — the assistant's capability list

What's included

Core features.

Everything built into Ecommerce Ops Agent — no add-ons required.

Conversational product search

Filter the catalog by concern, skin type, ingredient, brand, or price — all from one typed sentence, no rigid query syntax.

Word-level matching, not literal phrase — "anti aging serum" and "aging" return the same results
Ingredient exclusion — "without alcohol" actually removes matching products
Never fabricates price or stock — every fact comes from a live catalog lookup

Code-enforced allergy guardrail

Allergen filtering happens after every search call, unconditionally — not left to the model to recall mid-conversation.

Filters before a product is ever shown, not flagged after
Survives adversarial phrasing ("show me anyway")
Registered once, applied to every future search in the session

Persistent shopper profile

Skin type, concerns, allergies, and brand preferences persist for the session and shape every recommendation after they're mentioned.

Set once, reused automatically
No forms, just conversation
Session-isolated — no cross-shopper bleed

Cart actions through chat

"Add the CeraVe one to my cart" calls the exact same action as clicking the button — same table, same state.

Price snapshotted at add-time, immune to later price changes
Unified with the storefront's own Add to Cart button
View cart contents on request

Bounded, cost-safe context

Long conversations don't quietly balloon token cost or blow past the model's context window.

Chat history capped and trimmed automatically
Invisible to the shopper — full history still shown in the UI
Predictable latency regardless of session length

Six-model fallback chain

Five Gemini tiers tried in sequence, Anthropic last — a single exhausted quota or provider outage doesn't take the assistant down.

Chains multiple models within a provider, not just across providers
Free-tier quota is bucketed per model name — each tier is real extra headroom
Same tools, same guardrails on every tier

Rate-limited and input-validated

The LLM-calling endpoint is protected before any model is even called, not after.

Per-IP rate limiting, D1-backed — correct across Cloudflare's distributed edge, not an in-memory counter
Message length/type validated and rejected before any LLM cost is incurred
No debug/introspection routes exposed
How to use

What shopping over chat looks like.

Both flows below are verbatim, captured against the live agent and its real seeded catalog — not staged for marketing.

Search by concern

something for acne-prone skin
Here are some products for acne-prone skin: - Foaming Facial Cleanser by CeraVe (₹649) - Niacinamide 10% + Zinc 1% by The Ordinary (₹600) - Effaclar Duo+ Acne Treatment by La Roche-Posay (₹1750) - Skin Perfecting 2% BHA Liquid Exfoliant by Paula's Choice (₹2700) - 2% Salicylic Acid Face Wash by Minimalist (₹349) - Oil-Free Acne Wash by Neutrogena (₹499) Would you like to narrow down these results by skin type, ingredient, or brand?

/help — discover what it can do

/help
Here's what I can do: Remember your allergies & ingredients to avoid Tell me an ingredient or allergy once ("I'm allergic to fragrance") and I'll steer clear of it in every suggestion after that. Say "I'm not allergic to that anymore" to remove it. Remember your skin type & preferences Say things like "I have dry skin" or "I prefer Cetaphil" and I'll factor that into recommendations automatically. "/clearprofile" resets everything at once. Find products for you - "Show me a moisturizer under 500" - "Something for acne-prone skin" - "Anti-aging serum without alcohol"
Trust

What a bolted-on chatbot usually gets wrong.

Same query, different wording, same result — not a coin flip.
Never claims "out of stock" when there's no inventory data behind it.
Allergy filtering is a code rule, not something the conversation can argue the model out of.
Supports ingredient exclusion ("without alcohol"), not just inclusion.
One shopper's session never touches another's cart or chat history.
Rate-limited and input-validated before any LLM call — not just after something goes wrong.
Stack

Built with.

Next.js 16 (App Router)LangGraph / LangChainClaude Haiku 4.5Gemini (5-tier fallback chain)Cloudflare WorkersCloudflare D1 (SQLite)Drizzle ORMTailwind CSS 4
Get started

Want to see it handle your query?

It's a real, hosted storefront — not a recording. Ask it something specific and watch it actually search, filter, and remember.