Your candidate test, built and running. Three real TeamTime products behind MCP tools, ChatGPT retrieving product information and pricing, size and quantity through to a checkout.
Products, sizes and both Premium tiers were read from teamtime.shop/products.json on 14 Aug 2026. Nothing on this page is a placeholder price.
Every call the app makes shows up here, with what went out and what came back. Nothing on the left is allowed to state a price that did not come through this panel.
Your storefront already answers this publicly. That is the finding that matters for scoping: for products and prices there is nothing new to build, only something to wrap. Read from teamtime.shop/products.json on 14 Aug 2026, 250 products live.
A custom sublimated basketball jersey usually runs about $49.99, and for 12 you would be looking at roughly $540 with a team discount.
Fluent, confident, and every number in it is invented. Your real Premium basketball jersey is $29.99. The fix is not a better prompt. It is never letting the model hold the number.
The model picks which tool to call and how to say the answer out loud. It never holds the number. When a tool returns nothing, the app says so, which is what happens above when a Youth XX Large is asked for.
The brief has the customer paying inside ChatGPT. That door is not open to you yet. OpenAI's own guidance is that the in-chat payment sheet is limited to select marketplace partners, and that for everyone else standard external checkout is the required approach.
So the app configures and prices in the conversation, then hands off. Your storefront already accepts a cart permalink of the form teamtime.shop/cart/{variant_id}:{qty}, which means checkout, tax, shipping and the order record stay exactly where they are today and no new payment surface gets built.
developers.openai.com/apps-sdk/build/monetization
| design_id | ttd_8Kq2R7 |
| product_id | 9189599543524 |
| variant_id | from Size and Quality |
| concept_image | stored, original ChatGPT output |
| approved_mockup | front and back, with colour chips |
| personalization | MCCOURT / 24 |
| checkout | existing Shopify cart, your order flow |
Your design team still prepares the final production artwork by hand. The brief says that is acceptable for the MVP, and it is the reason this MVP is small enough to be worth doing at all.
For products and prices, yes. Your storefront answers publicly at products.json with ids, variant ids, the twelve size names and both Premium tiers. The three products in this build were read from it, not typed in. What does not exist yet is a design record, so that is the one piece of new storage.
Wrap what exists. Build only the design store.Your brief says pick whichever needs the least new infrastructure. It is Shopify, and it is not close. A cart permalink or a draft order reuses your tax, shipping, order records and refunds, and adds no new place for card data to live.
Shopify. Nothing new to certify.The brief already picked the metric: generated designs that turn into purchased physical products. That is one number, and it needs an event on design created, product selected, checkout opened and order paid, tagged with the design id so the whole path is one row.
Four events, one design_id, one funnel.