{"slug": "im-not-a-developer-i-used-ai-to-make-my-small-boxing-shop-easier-for-agents-to", "title": "I’m not a developer. I used AI to make my small boxing shop easier for agents to read", "summary": "A non-developer co-owner of Paragon Elite Fight Group, a 24-product boxing and jiu-jitsu shop in Athens, used Claude and Shopify's Sidekick to build agent-facing infrastructure on Cloudflare Workers, including a public did:web identity document, a signed publisher credential with a separate evidence file, a product knowledge graph, an llms.txt file, and a read-only MCP service exposing guide-reference and product-comparison tools. The shop owner stresses that signatures identify who made a claim rather than proving it true, and that the supplementary tools cannot access customer accounts, create orders, or process payments, with Shopify remaining the commerce platform.", "body_md": "*A field report from a 24-product store in Athens: structured data, signed identity, read-only tools, and the limits of building with AI.*\n\nOriginally published on [Paragon Elite Fight Group](https://paragonelitefight.com/blogs/the-fight-journal-gear-best-fights-insights/building-an-agent-readable-boxing-shop-with-ai).\n\n**Disclosure:** This article was drafted with substantial AI assistance from the author's notes and project records, then reviewed and approved by the author. The author is responsible for the published claims.\n\nI don't write code. Until recently, I could not have explained what a Cloudflare Worker or a decentralized identifier was.\n\nMy partner and I run Paragon Elite Fight Group, an online boxing and Brazilian jiu-jitsu equipment shop based in Athens, Greece. At the time of writing, we have 24 active products, a basic Shopify plan, and no paid advertising.\n\nThinkplus built the original store. The additional agent-facing infrastructure came later, through conversations with Claude and Shopify's Sidekick, repeated corrections, and more troubleshooting than I expected.\n\nThis is not a growth case study. I cannot show that a signed credential increased sales or that an AI assistant recommended us because it found a discovery file.\n\nIt is a practical account of a smaller question:\n\nWhen software visits a shop, can it understand what the business sells, distinguish its claims from supporting evidence, and find useful information without guessing?\n\nThat seemed like a problem I could work on, even without being a developer.\n\nThis account describes the project as of **12 November 2026**. Individual endpoints, tests and catalog details can change.\n\nMuch of the discussion about shopping agents focuses on transactions: finding products, building carts, and completing purchases.\n\nI started further back.\n\nA shop contains information that is easy for a person to interpret but surprisingly easy for software to misunderstand. Is a sizing table a manufacturer's chart or the retailer's recommendation? Does a displayed price apply to every variant? Does a signature prove a claim, or only identify who signed it?\n\nMy aim was to make those distinctions explicit.\n\nShopify remains the commerce platform. I have not built an alternative checkout or given my supplementary tools permission to access customer accounts, create orders, or process payments.\n\nThe additional infrastructure consists of several separate pieces, mostly served through Cloudflare Workers.\n\nI maintain a [technical directory](https://paragonelitefight.com/pages/paragon-fight-technology-security), but the important distinction is between identity, evidence, information and actions.\n\nA [public did:web document](https://paragonelitefight.com/.well-known/did.json) exposes the business's identity information and public verification keys.\n\nA [publisher-issued credential](https://paragonelitefight.com/.well-known/vc/paragon-claims.jsonld) records business assertions in a signed format. A [separate evidence file](https://paragonelitefight.com/.well-known/evidence.json) links to supporting sources.\n\nThese are different things. Publishing a signature does not make every statement independently true. A retailer signing its own claim is not the same as a manufacturer endorsing that claim.\n\nThe [Verification Record](https://paragonelitefight.com/pages/verification) attempts to keep those distinctions visible, including the scope and limitations of recorded checks.\n\nThere is also a product knowledge graph, structured product information, [plain-text guidance](https://paragonelitefight.com/llms.txt), and discovery resources pointing software toward the available interfaces.\n\nThe supplementary MCP service at `https://paragonelitefight.com/api/mcp` exposes two read-only tools: guide references and product comparison.\n\nThe guide tool returns links, not the contents of the guides. Product descriptions and minimum prices are not a substitute for checking a particular variant's stock, price, fit or eligibility.\n\nThose boundaries matter more to me than the number of endpoints.\n\nOn 12 November 2026, I added several discovery resources through the existing services:\n\nThe homepage also advertises the plain-text guidance through a Link response header.\n\nThese resources help describe what is available. Their existence does not demonstrate that an external agent has discovered them, used them correctly, or recommended the shop.\n\nA limited A2A adapter reuses the existing read-only tools. A guide request returned the expected references, and an invalid guide topic returned a tool-level error. Existing MCP initialization continued to work.\n\nThe A2A product-comparison test remains unconfirmed.\n\nThis is a structured-command interface, not an unrestricted conversational assistant. I am not presenting it as a fully tested implementation of every part of a protocol.\n\nThe [dated discovery update](https://paragonelitefight.com/pages/verification#agent-discovery-update-2026-11-12) records the checks and their limits.\n\nOne of the clearest lessons came from a small boxing-glove dataset.\n\nThe original files contained six recommendation rows for Superare S40 and S50 gloves. They used body-weight and height ranges, grouped into the store's existing men's and women's charts.\n\nThe original name included the word “Standard.”\n\nThat was too strong.\n\nWe had not measured participants or experimentally validated the ranges. General glove-selection advice did not establish that these exact ranges were correct for these models.\n\nThe source material also contained inconsistent wording about 14 oz gloves, sparring and hand wraps.\n\nAdding more structured data would have made those inconsistencies easier to distribute. It would not have made them true.\n\nSo we revised the content first.\n\nThe new version calls itself a sizing guide. It preserves the six recommendation rows but identifies them as publisher guidance, explains that ranges overlap, and states that fit and sparring suitability cannot be determined from nominal glove weight alone.\n\nThe CSV and JSON now carry consistent usage notes. A README records provenance, variables and limitations.\n\nThe revised dataset is available on our [Open Data page](https://paragonelitefight.com/pages/open-data), alongside the [source sizing guide](https://paragonelitefight.com/pages/boxing-size-guide-boxing-gloves).\n\nWe also published [version 2.0.0 on Zenodo](https://zenodo.org/records/24159069), with the persistent identifier [10.5281/zenodo.24159069](https://doi.org/10.5281/zenodo.24159069).\n\nThe DOI provides an identifier for citation. It is not peer review or manufacturer certification.\n\nA direct [Google Dataset Search check](https://datasetsearch.research.google.com/search?query=Boxing%20Glove%20Sizing%20Superare) on 12 November 2026 found the store's dataset.\n\nAt the time of that check, it still displayed the older July title and metadata, not the November revision.\n\nThat is a useful observation. It is not evidence of increased traffic or sales, and it does not establish that the new Zenodo record has been indexed.\n\nAI made it possible for me to build things I could not have implemented alone. It also made it possible to create more moving parts than I could comfortably maintain.\n\nA successful response from an endpoint does not establish continuous availability, universal crawler access, or resistance to abuse.\n\nDuring this work, some automated requests returned 403 or 429 responses. In one case, I could open an updated resource in my browser while the assistant's request received a 403.\n\nThat difference did not prove a global block, and it did not prove the problem was solved.\n\nAn experimental cache-warming project remains disabled after blocked requests. I chose to pause it rather than weaken protection just to obtain a successful test.\n\nThe same explanation can exist in HTML, Markdown, JSON and plain-text guidance. Updating one does not automatically update the others.\n\nWe have added dated updates to those formats, but I would not describe that as a complete audit of every historical statement.\n\nIt is easy to make another file. It is harder to keep every copy accurate.\n\nI would start with fewer components.\n\nI would check source content before making it machine-readable.\n\nI would distinguish “published,” “responded successfully,” “verified,” and “used by someone else” from the beginning.\n\nI would also resist treating a scanner's green result as a business outcome.\n\nThe useful question is not how many protocols a small shop can advertise. It is whether each component gives a reader accurate information at a maintenance cost the business can afford.\n\nI would welcome feedback from people who build or operate agents:\n\nI am sharing this because small businesses are experimenting with these questions too, often without an engineering team.\n\nAI helped me write the code and this article. I remain responsible for what I publish.\n\nThe lesson so far is simple: making information easier to retrieve is worthwhile, but making it accurate comes first.\n\nThis appendix summarizes the store's maintained technical directory. It is a **record-based inventory**, not a fresh exhaustive listing of the Cloudflare account and not an independent security audit.\n\nThe directory contains 16 historical entries covering Workers and supporting components. That does not mean 16 currently active services. One component is retired, another is disabled, and individual tests retain their original dates.\n\n`paragon-well-known`\n\nPublishes identity, publisher-issued credentials and discovery documents.\n\nThe directory records reverification of the canonical identity and signed credential on 23 September 2026. That dated result is not continuous verification or independent accreditation.\n\n`paragon-heartbeat`\n\nProduces short-lived signed publisher records. The directory records a successful public signature check on 1 October 2026.\n\nA heartbeat signature is not a checkout transaction test, an alert service or proof of uninterrupted availability.\n\nPublic starting point: [identity document](https://paragonelitefight.com/.well-known/did.json).\n\n`llm-cache-headers`\n\nCoordinates LLMS publications, Verification formats, selected response handling, supplementary advice routing and limited missing-page recovery.\n\nThe November discovery updates extend this existing component. Its custom shared HTML cache remains disabled; I do not present it as proof of site-wide acceleration.\n\n`robots-txt-injector`\n\nAdds discovery references and content preferences to supported robots responses.\n\nDeclarations express publisher intent. They do not guarantee that every crawler follows them or indexes the site.\n\n`paragon-product-sync`\n\nSupports selected product representations in HTML, agent-oriented JSON and Markdown, with related-product and missing-product handling.\n\nRecorded sample checks do not establish complete translated-URL coverage or universally current inventory.\n\nPublic starting points: [LLMS guidance](https://paragonelitefight.com/llms.txt) and [AI Agent Gateway](https://paragonelitefight.com/pages/ai-agent-gateway).\n\n`paragon-agent`\n\nProvides the two supplementary read-only guide/comparison tools. The limited A2A adapter reuses those tools.\n\nMCP behavior and A2A behavior have separate test records. A successful MCP comparison does not establish that the corresponding A2A path has passed.\n\n`paragon-ucp-mcp-worker`\n\nRetains custom compatibility functions and a catalog backend used by supplementary advice.\n\nIt is distinct from native Shopify commerce interfaces. Its existence does not establish complete custom cart or payment support.\n\n`paragon-gear-advisor`\n\nProvides bounded shopper assistance with store links and a fallback.\n\nScoped tests observed real AI responses and the shopper panel. Accuracy, quota capacity, device coverage and live stock are not guaranteed.\n\nPublic documentation: [Technology, Security & Trust](https://paragonelitefight.com/pages/paragon-fight-technology-security).\n\n`paragon-cornerman` and the initial OhYeah integration\n\nConnect source snapshots, hashes, approval records and signed quotations with public evidence formats and selected product-page access.\n\nThe documented collection contained 20 published records by 15 October 2026: 17 IBJJF quotations and 3 WBC quotations. This is a dated publication count, not a promise that every rule or exception is covered.\n\nThe quotations are source material, not product endorsements or competition approvals.\n\nTheir application-specific signature format should not be confused with blanket W3C Data Integrity conformance.\n\nThe initial published service is not the complete planned Cornerman system. FightPulse, a full public hash-chain log and signed checkpoints, the public `.plan` diary, Cornerman-specific agent interfaces, broader interoperability, orchestration and full Shopify integration remain unfinished or require further work.\n\nPublic documentation: [Verification Record](https://paragonelitefight.com/pages/verification).\n\n`pef-canary-stamp`\n\nIssues ten-minute retrieval references for controlled experiments.\n\nA reference can identify an issuance window. It does not authenticate product facts, verify stock, identify visitors, or prove organic discovery or content reuse.\n\nPublic example: [retrieval reference endpoint](https://paragonelitefight.com/__canary/reference).\n\n`paragon-price-history-workerjs` v2\n\nPublishes custom-signed snapshots of base catalog variant prices.\n\nThe directory records an independently checked snapshot dated 7 October 2026 covering 24 products and 72 variants in EUR.\n\nThat snapshot is not a complete 30-day price history, market-specific checkout pricing, immutable archival storage or legal certification. A configured schedule is not evidence that every subsequent run succeeded.\n\n`paragon-doorbell`\n\nSupports change detection and attempts publication notifications.\n\nHistorical IndexNow attempts returned 429 responses. Cooldown behavior was recorded, but later acceptance was not established by those checks. Notification attempts do not prove indexing.\n\n`paragon-openai-feed`\n\nPrepares structured catalog and trust exports.\n\nExport preparation does not establish OpenAI acceptance, ingestion or display. Recorded checks also left stock/enrichment questions unresolved.\n\n`paragon-google-feed`\n\nSupplies supplemental product attributes alongside the primary source.\n\nHistorical processing results are recorded in the directory. Processing does not independently authenticate identifiers, guarantee product approval or establish visibility.\n\n`paragon-google-indexing`\n\nRetired according to removal records dated 7 October 2026. It is included for lifecycle transparency, not counted as an active service.\n\n`pef-keeper-v2`\n\nA disabled regional cache-warming experiment.\n\nDiagnostic requests encountered rate limits. Successful autonomous warming and a measurable performance benefit have not been established.\n\nI am not attaching a customer-facing speed claim to this experiment.\n\nThe project also includes:\n\nThese are not all equivalent types of evidence.\n\nA letter is editorial material, not automatically a signed credential. A product-passport component does not prove that every field is populated. Structured data does not independently validate the facts it contains.\n\nThis project does not establish universal crawler access, complete protocol conformance, legal compliance or complete store security.\n\nThese references are published so that readers can examine the scope of individual claims, not as a substitute for independent review.\n\nEvangelos Papadimas\n\nCo-founder, Paragon Elite Fight Group\n\nAthens, Greece", "url": "https://wpnews.pro/news/im-not-a-developer-i-used-ai-to-make-my-small-boxing-shop-easier-for-agents-to", "canonical_source": "https://dev.to/evangelospapadimas/im-not-a-developer-i-used-ai-to-make-my-small-boxing-shop-easier-for-agents-to-read-oic", "published_at": "2026-11-12 11:43:04+00:00", "updated_at": "2026-11-12 11:52:05.503288+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "structured-data", "ai-tools"], "entities": ["Paragon Elite Fight Group", "Shopify", "Cloudflare Workers", "Claude", "Sidekick", "Thinkplus", "MCP"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/im-not-a-developer-i-used-ai-to-make-my-small-boxing-shop-easier-for-agents-to", "markdown": "https://wpnews.pro/news/im-not-a-developer-i-used-ai-to-make-my-small-boxing-shop-easier-for-agents-to.md", "text": "https://wpnews.pro/news/im-not-a-developer-i-used-ai-to-make-my-small-boxing-shop-easier-for-agents-to.txt", "jsonld": "https://wpnews.pro/news/im-not-a-developer-i-used-ai-to-make-my-small-boxing-shop-easier-for-agents-to.jsonld"}}