Beckon, getting a store back into AI shopping answers
A Shopify app that gets a store's products back into AI shopping answers by finding the smallest price cut that works, then runs it as a short sale and tracks the orders.
Ask an AI assistant for the best vitamin C serum under $50 and it will answer with three to five products. If a store's serum costs $54, it will not be in that answer, however good it is. Beckon finds those budget lines and gets the store back under them with the smallest cut that works.
Shopping is moving into AI assistants. Adobe measured AI-referred traffic to US retail sites up 693% year over year during the 2025 holidays, and in March 2026 those visitors converted 42% better than other traffic. The same research found product pages were only about 66% readable by machines, and the promotions stores rely on live in pop-ups and emails that an assistant never sees.
Most of the big platform work has been about checkout. OpenAI launched in-chat checkout in September 2025 and scaled it back in March 2026, Google announced a payments protocol for agents, and Shopify turned on agent storefronts by default for US merchants in March 2026. My read was that the real value is in discovery rather than in in-chat payment, and that the bottleneck is offers an assistant can actually see.
Before writing code I mapped the competition. Measuring AI visibility is already crowded, and rewriting listings is turning into a free built-in feature. The open space was pricing decisions tied to the budget lines assistants use, limited in time and reversed automatically, combined with exact order tracking so the product can charge on results.
A budget line is a filter, not a contest. The store does not need to be the cheapest. It only needs to be under the line. So the engine never races competitors on price. It suggests the budget line minus one cent, the smallest cut that works, and only when the margin floor and the weekly budget allow it.
The pricing engine is a pure function of the merchant's rules, a snapshot of the store and past sales, with the date passed in, so it gives the same answer every time and can be tested line by line. For every budget line and product, it skips anything already under the line, out of stock or already on a deal. It suggests the line minus a cent, treats the margin floor as a hard limit, and rejects cuts of 5% or less, which are too small to earn a sale badge, and cuts of 90% or more. It estimates how many orders a deal will bring from 28 days of history or from sales speed capped by stock, ranks the candidates by expected demand per dollar of discount adjusted for the merchant's goal, and fills the weekly budget in order. When a catalog sits far above the usual budget lines, it builds its own lines from a 26-step price ladder.
A radar builds 40 shopper-style questions from five templates, two budget lines and four assistants, reads the answers into a grid of where the store appears, and ranks the gaps.
When the merchant approves a deal, the app sets the real price with the old price shown as the compare-at price, creates a tracking token and saves the position in one database transaction. If saving fails, the price change is undone right away. A theme extension recognizes visitors coming from ChatGPT, Gemini, Copilot, Perplexity or Claude and applies the deal automatically. The order webhook matches items to live deals and records the take, and expired deals go back to the list price.
Claude is used in two places, and in both it only advises. It drafts listing rewrites as strict JSON with a title, a description and a note for the merchant, and it is told never to make up facts or numbers. The merchant edits and applies the draft, and every change is saved with a before and after. It also runs a strategy chat grounded in the store's live data, including its rules, products, deals and ledger totals, with a rule that it cannot change anything and must answer from that data.
The model never sets a price. Money only moves through deterministic code, and every change goes through the merchant's approval.
I built the app with Claude Code on Claude Fable 5 over three days.
The first version used single-use discount codes, which kept my own rule of never touching a list price. Then I followed the data. Shopify sends a product's price into AI shopping surfaces, and a discount code never shows up there. So deals became real price changes with a time limit and a compare-at price, which an assistant can actually see. Breaking my own rule meant building more safety around it, with an immediate undo when saving fails and a sweep that restores list prices when a deal ends.
Beckon runs on a Shopify development store, where assistants do not recommend test products on their own, so the demo shows the whole loop rather than live sales. The sweep that restores prices currently runs when the merchant opens the app and still needs a proper scheduler. The adapter for OpenAI's promotion feed is built and tested but not connected, and there is no partner store yet. The 47 tests cover the engine, the radar and the adapters, including running out of budget, hitting the margin floor, overlapping deals and a real pasted ChatGPT answer used to test the parser.