Inspiration
AI assistants like ChatGPT, Gemini and Perplexity are starting to shop for people: they find products, compare prices, fill a cart and hand over a checkout link. But most online stores are built only for human eyes and clicks. The products only appear after JavaScript runs, prices aren't in the page, the cart only works through buttons, and robots.txt often blocks AI agents. The agent quietly gives up, and the store never even learns it lost a sale. We wanted to give store owners a way to see this problem and fix it.
What it does
AgentReady is a team of three AI agents that a store owner talks to in one chat:
- AgentReady scans the store and gives an AI-readiness grade (A–F, 0–100) across 7 checks: AI crawler access, structured data, agent interfaces, content structure, trust signals, meta robots and crawlability.
- Tester shops on the store exactly like an AI agent would, reading plain HTML with no JavaScript, and reports 5 steps as pass or fail: reach the site, find products, compare options, add to cart and get a checkout link.
- Fixer clones the store's GitHub repo, detects its stack, changes the code, builds and tests the store before and after, and opens a pull request showing the improvement (for example 0/5 → 5/5).
When everything passes, the owner gets a checkout link that opens on the shopper's own device with the product already in the cart.
How we built it
- NVIDIA Nemotron on Nebius Token Factory powers the agents' reasoning. A fast Nemotron Nano model reads what the owner wants from each chat message, and a larger Nemotron Super model drives the Fixer's tool-calling coding loop: it reads files, edits code, builds the store and runs the shopping test until the steps pass. Token Factory's OpenAI-compatible API meant one provider layer (
agents/shared/llm.py) serves both models, and switching model is a single setting. - Agents: Python, Fetch.ai uAgents with the Agent Chat Protocol on Agentverse, and Redis for shared memory and hand-offs, all running on Railway.
- Scanner API: Node.js, TypeScript, Express and MongoDB on Render.
- Web app: React, Vite and Tailwind on Vercel.
The Fixer supports Next.js, Vite (React/Vue/Svelte), Node/Express, Flask, Django and plain HTML stores.
Challenges we ran into
- Honest testing. A checkout link that works inside the agent's session often opens an empty cart for the human. The Tester only passes step 5 if the link works on a different device with no agent cookies.
- Proving a fix is real. The Fixer builds and runs both the original and the patched store locally, tests both, and stops if the local copy doesn't behave like the live site.
- Safety. The Fixer works only on allow-listed repos, edits code through a small set of safe tools (no shell, secrets, lockfiles or git), never merges without approval, and opens a labelled draft if a change doesn't improve the test.
- Agents talking to agents. ASI:One's assistant comments on every agent message, so we filter long commentary to stop agents looping or acting on text the owner didn't send.
What we learned
Most "AI-unfriendly" stores aren't broken. They're built normally for humans. Small, generic fixes (readable product pages, structured data, a plain HTML add-to-cart and a checkout link that carries the cart) make a big difference for AI shoppers.
What we updated during this hackathon
AgentReady started at Fetch-A-Thon 3.0. During the Nebius × NVIDIA hackathon we made three big changes:
1. NVIDIA Nemotron on Nebius Token Factory. All agent reasoning now runs on Nemotron through Token Factory: a small model routes chat messages and a larger one drives the Fixer's coding loop, through one provider layer (agents/shared/llm.py).
2. Security layer: SSRF protection. The scanner and the Tester can only reach public websites. Every DNS answer is checked and pinned, and private networks, DNS rebinding, unsafe redirects, non-standard ports and proxies are blocked. Response sizes are capped. The Fixer's file tools refuse credential files, private keys and path traversal. Running a store's own install/build code is off by default unless an operator provides a real sandbox.
3. Security layer: privacy and access control. Personal data is redacted before any text reaches the Nemotron models, the logs or stored reports. Chat memory expires after 24 hours. The Tester never fills in customer details or submits a checkout. Only operator-approved requester + repo + site combinations can use the Fixer, agents can no longer merge pull requests (a human always merges in GitHub), and we added stricter rate limits and exact-origin CORS. Both layers come with regression tests and documentation (SECURITY-NOTES.md, SECURITY-REVIEW.md, PRIVACY.md).
We also added an MIT license, new docs and a new test store (Dhaga Studio).
What's next
A one-click GitHub App so owners can connect their own repo, support for Shopify, WordPress and Nuxt stores, and the same scan → fix → pull request flow for visibility in AI assistants.
Built With
- agentverse
- astro
- express.js
- fetch.ai
- javascript
- mongodb
- nabius
- nemotron
- node.js
- python
- railway
- react
- redis
- render
- tailwindcss
- typescript
- uagents
- vercel
- vite
Log in or sign up for Devpost to join the conversation.