Namit Kapoor on closing the intent gap in AI-driven commerce

An interview from our series on AI agents and design.

Portrait of Namit Kapoor, Co-founder and CTO of ChekOut.ai, smiling in black-rimmed glasses and a dark shirt, with a glowing violet outline on a purple grid background

A dashboard can tell a brand that a visitor left. It can’t tell them why. Namit Kapoor, Co-founder and CTO of ChekOut.ai, works where luxury design, Human-Computer Interaction and conversational AI meet, and at ChekOut he is building shopping assistants for direct-to-consumer (D2C) stores that answer product questions live and capture the buyer intent that usually walks out the door. We spoke about the engineering under the hood, why he doesn’t fine-tune a model per brand, and how to make an AI assistant helpful without making it intrusive.

“Our core belief is that the conversation is the missing dataset.”

ChekOut.ai captures unfulfilled buyer intent and missed product questions live on a D2C store. How are you engineering the RAG pipeline and vector indexing to work instantly without adding latency at checkout?

The honest answer is that we keep the heavy lifting off the critical path. Checkout never waits on the model. The agent runs alongside the storefront as its own service, so a slow retrieval can delay a reply in the chat, but it can never block a cart or a payment.

Most of the “instant” feeling comes from work done before the shopper ever arrives. When a merchant installs ChekOut through our Shopify, Shopline or WooCommerce app, we sync their catalogue into a vector store scoped to that merchant, so every query only searches that brand’s products and nothing else. Retrieval runs on Google’s Vertex AI RAG Engine. One lesson that surprised me: ingestion format matters as much as the model. Clean text and JSON retrieve far more reliably than CSVs or PDFs, so we normalise catalogue data before it is embedded.

Beyond that, the biggest win for perceived speed was streaming. We moved off an orchestration layer that couldn’t stream, because streaming tokens to the shopper as they are generated does more for the experience than shaving raw inference time.

How do you handle context windows and retrieval noise when a shopper’s intent shifts abruptly mid-session?

We separate two kinds of context. Retrieved product context is rebuilt on every turn from what the shopper just asked, so when someone pivots from a night serum to a gift for their mother, the serum results don’t ride along and pollute the answer. Conversation context is what should persist: budget, preferences, who the purchase is for. Keeping those layers apart is most of the battle against retrieval noise.

From a design standpoint, I also don’t treat an abrupt pivot as noise. A shopper who asks about one product and suddenly jumps to another is often telling you the first one didn’t fit, on price, on ingredients, on availability. That moment is exactly the kind of signal a merchant never sees in a traditional funnel, so we want to capture it rather than smooth it over.

Most off-the-shelf chatbots sound generic and robotic, which damages brand trust. How does ChekOut.ai take in a brand’s catalogue and tone to produce genuinely contextual dialogue rather than template responses?

I’d push back slightly on the word “train”. We deliberately don’t fine-tune a model per brand. For a small brand, a fine-tuned model is expensive, goes stale the moment the catalogue changes, and is hard to audit. It is also more than most of our clients need. They don’t need a heavy model for admin work; they need a conversation companion that knows their products and internal docs well enough to give customers a better experience. So the brand’s knowledge lives in retrieval and the brand’s voice lives in a layered prompt architecture:

  • who the assistant is;
  • how this brand speaks;
  • what it should never claim;
  • how to gather information from a customer without making it feel like a form.

That last part is where the “performative empathy” problem actually gets solved. Generic bots sound robotic because they are scripted towards a transaction. Ours are designed to ask the next useful question. In one high-consideration deployment, the assistant had to tell apart nearly identical offerings, including a Spanish-language track, and the schedule data came straight from the client’s own spreadsheets through a pipeline that keeps the knowledge base updated automatically. When the facts are current and specific, the conversation stops sounding templated on its own.

What does your architecture look like for preventing hallucination when customers ask hyper-specific product questions?

Three layers.

Grounding: the agent answers from what it retrieves for that merchant, not from what the model happens to remember about the category. For the commerce agents, vectorising the catalogue was the single biggest hallucination fix.

Prompt architecture: explicit rules for what to do when the answer isn’t in the source, which is to say so and route the customer to a person, rather than improvise.

Verification: we built a citation-checking layer and evals that check whether a response is actually attributable to a source before we trust it in production.

The accuracy bar also depends on the context. A shopper browsing a product page can see the product for themselves, so the agent’s job is guidance. In a high-stakes purchase, such as a programme with real costs and schedules, precision is the whole job. There we also show an explicit AI disclaimer and point people to a human for final confirmation. I think being upfront about the limits is part of earning trust, not a weakness.

Traditional analytics tools are passive dashboards that tell merchants what happened after they’ve lost the sale. How does ChekOut.ai turn that into an active feedback loop that tells founders what customers wanted before they bounced to Amazon?

Our core belief is that the conversation is the missing dataset. A dashboard tells you a visitor left. The chat tells you why: the shipping cost was a surprise, the size wasn’t in stock, they wanted to know if it was safe for sensitive skin and couldn’t find out. That qualitative signal is what brands lose today, and it leaves along with the customer.

So we treat every conversation as a source of structured intent. Today that means merchants see what people asked about, where conversations dropped off, what price questions came up, and which orders the agent actually influenced, attributed through a tag on each order and checked against the platform’s own order records so nothing is double counted. Leads are also classified at intake. In one deployment that let the client’s team stop calling every lead blind and prioritise by intent, which they estimated saved them about three hours a day.

Where we are taking it is the agentic part: moving from “here is what happened” to “here is what to do next”. The goal is that a founder opens ChekOut and gets a recommendation they can act on, not another chart.

What workflow or data structure turns a messy, unstructured chat log into actionable intelligence for a store owner?

Every conversation is captured as structured data and aggregated daily into what customers asked about, which topics and products came up, where conversations dropped off, and which orders the agent influenced.

The unit that matters is the thread, not the message. A single message is noisy; a whole conversation, linked to an order or a lead outcome, tells a story. We also keep the labelling transparent, because a merchant needs to trust why something was flagged before acting on it.

With your background in Human-Computer Interaction from Georgia Tech, you know how easily an intrusive chatbot can kill a shopping flow. How do you decide when the agent should step in and when it should stay out of the way?

I think about this as the difference between load-bearing friction and removable friction. Some friction protects the user or the business: a moment that makes someone pause, qualify themselves, or double-check. Other friction is just in the way. An intrusive chatbot is usually a design that can’t tell the two apart.

A real example: on one deployment, the client initially wanted the inquiry form visible at all times for easy conversion. My argument was that an always-on form would produce low-quality leads and suppress the conversations where qualification actually happens. We ran user studies instead of debating it. People did most of their research elsewhere first, mostly on social media, which they trusted more than the official website. Many were more comfortable in Spanish, and they preferred chat to forms. So the assistant moved to the end of the discovery journey, on the specific location pages people landed on when they were already primed and ready to ask questions, and the form surfaced when the conversation signalled readiness. The result was fewer top-of-funnel submissions but a higher conversion rate, and the assistant became a filter that flagged weak leads before they reached the sales team.

Are there specific UX indicators that trigger the agent’s intervention?

Yes, and the first one is placement, which is a trigger in itself. Where someone is in their journey tells you more than any timer. An assistant on a specific product or location page meets someone who has already done their research; the same assistant on a homepage interrupts someone who hasn’t.

Inside the conversation, the indicators are intent signals rather than clicks: asking about pricing, start dates, availability or fit usually means someone is ready for the next step, so that is when we surface it. Hard disqualifiers get handled differently from timing mismatches, so a person who simply isn’t ready now is treated as a returning lead rather than a lost one. Across the storefront, behaviours like repeat visits and abandoned carts are the signals we are building towards acting on. And accessibility is part of not being intrusive: our interfaces are built to work with screen readers, with labelled components throughout, because an assistant that blocks a screen reader is the most intrusive kind there is.

Specialised customer assistants usually need serious data science infrastructure. How is ChekOut.ai making enterprise-grade conversational commerce accessible to emerging D2C brands?

The trick is that small brands shouldn’t need data science infrastructure at all, so we absorb it. The stack runs on managed Google Cloud services: Vertex AI for retrieval and models, Cloud Run for our services, BigQuery for analytics. Agents are built from a shared, configurable foundation rather than a bespoke system per merchant, and each merchant is isolated by their own catalogue data and settings. That means every brand gets the same retrieval quality, evaluation layer and analytics that a large team would build in-house, without paying for one.

We also designed for cost from day one, so the economics work for an emerging brand. And we are looking ahead: we have integrated Google’s Universal Commerce Protocol for agentic transactions, because the next wave of shoppers will increasingly be AI agents acting on someone’s behalf, and small brands deserve to be discoverable to them too.

How automated is onboarding for a new merchant who wants a fully brand-aligned agent from scratch?

Most of it is automated. A merchant installs ChekOut from the Shopify, Shopline or WooCommerce app store, verifies their domain, and our onboarding service syncs their catalogue into their own vector store. The agent is created from our shared foundation and configured in our builder, where the merchant shapes its tone and behaviour. From there the widget goes live on their storefront and analytics start flowing.

The part I’d still keep human is the brand review. Automation can get a merchant to a working agent quickly, but whether it sounds like them is a judgement call, and that is where a short conversation with the founder pays off. The contrast is our earliest custom builds, where we were injecting a React experience into a legacy PHP site by hand. Turning that into an app-store install is, in a way, the whole story of how we scaled.


Thank you, Namit, for taking the time to share your insights with Invent + Discover.

More from our series AI Agents in Design: Kumar Gaurav on designing for intent, Patrick Henz on ethics and governance and Carlo Edoardo Ferraris on AI that fits human nature.

Leave a Reply