Inspiration
AI can already recommend products, compare options, and answer shopping questions. We wanted to explore a different question: what happens when an AI agent can participate directly in a decision that is already happening inside a website?
Traditional shopping experiences separate the decision from the AI conversation. The user may have already created a shortlist, rejected products, compared options, and formed preferences, but an AI agent usually does not have access to that live context unless the user manually explains it again.
NOVNA was built around a third model: the human keeps the decision, while the agent participates in it.
What it does
NOVNA is a decision-first shopping workspace where humans and AI agents work on the same live decision.
A user can define a goal, budget, urgency, priorities, shortlist products, reject options, compare products, and build a decision over time.
Through WebMCP, an external AI agent can then interact with that existing decision context.
The agent can:
- Inspect the current decision and user goal
- Understand the existing shortlist and comparisons
- Search and compare products
- Challenge the current choice
- Find better-fit alternatives
- Surface an alternative directly into NOVNA
- Update the decision through exposed tools
The human remains in control throughout the process. The agent participates in the decision rather than replacing the decision-maker.
How we built it
NOVNA is built with Next.js, React, TypeScript, and WebMCP.
The application maintains a structured decision state containing the user's goal, budget, priorities, considered and rejected products, comparisons, insights, and decision history.
We built a transparent decision engine that evaluates products against the user's actual requirements rather than relying on an unexplained universal score.
The WebMCP layer exposes decision-specific tools through the browser's document.modelContext API. These tools allow an external agent to inspect and act on NOVNA's live decision state.
The implementation includes tools for retrieving decision context, searching products, comparing products, finding alternatives, evaluating whether to wait or buy, challenging decisions, surfacing products, and updating user goals.
We also built an agent activity surface and decision timeline so the human can see how the decision evolves and what actions were taken.
Challenges we ran into
The biggest challenge was deciding what WebMCP should actually enable.
It was easy to build a product-search demo where an agent simply calls a search tool. We wanted something more meaningful: a workflow where the agent needs the context already accumulated inside the website.
Another challenge was preserving human control. Agent actions needed to be useful without turning NOVNA into an autonomous shopping system. This led us toward explicit decision state, visible agent activity, and a decision timeline.
We also had to work with a real product catalog and manufacturer-sourced specifications while keeping the architecture flexible enough for the catalog to grow.
Finally, testing WebMCP required working with browser environments that expose the emerging API, which made the agent-to-website interaction an important part of our development process.
Accomplishments that we're proud of
We are most proud that NOVNA goes beyond demonstrating that a website can expose a WebMCP tool.
The agent can enter an existing human decision, understand its context, challenge the current choice, find an alternative, and surface that alternative back into the same workspace.
That creates a genuine human-agent loop:
[ \text{Human Decision} \rightarrow \text{Agent Inspection} \rightarrow \text{Challenge} \rightarrow \text{Alternative} \rightarrow \text{Human Review} ]
We are also proud of building the decision itself as a first-class product state rather than treating the website as a collection of isolated product pages.
The result is a working end-to-end experience where the human and agent operate on the same decision context.
What we learned
We learned that the most interesting WebMCP use cases are not necessarily about giving an agent more information.
They are about giving an agent access to the right context and actions at the right moment.
We also learned that AI recommendations are already a mature interaction pattern. The opportunity we found was different: reducing the friction between an agent and the web application where a user's actual workflow and state already exist.
Building NOVNA also taught us that human control becomes more important, not less, when agents gain the ability to act. Making agent actions visible and understandable is therefore part of the product, not just a debugging feature.
What's next for NOVNA
NOVNA currently focuses on laptop purchasing as a concrete demonstration of the decision-first model.
The next step is to generalize the decision architecture beyond laptops and support more categories where decisions involve changing requirements, multiple options, trade-offs, and accumulated context.
We also want to expand the decision timeline, make agent interventions more explainable, and explore richer collaboration between multiple agents and the human decision-maker.
The long-term idea is simple:
Websites should not just contain information for agents to read. They can become spaces where humans and agents work together on real decisions.
NOVNA is an exploration of what that future could look like.
Built With
- css
- html
- javascript
- next.js
- react
- typescript
- vercel
- webmcp
Log in or sign up for Devpost to join the conversation.