EPS Digital case study / ai you can trust with customers

PingPath case study

How I stopped an AI recommending products that don't exist

PingPath is my free quiz that recommends table tennis gear. The AI used to name items from memory. Now it can only pick what is in stock.

Before, July 2026 Before: the AI answers from memory. Player asks, AI names a discontinued blade from memory, the link is a dead search, the sale is lost.Player asks"what blade for me?"AI answers from memoryno stock checkNames a discontinued bladebutterfly zhang jike alcDead search linklost sale, confused customer
The AI named gear from its own memory. Misses became dead search links.
real examples: a discontinued blade, an out-of-stock rubber no before-rate was measured
After, shipped 2026-07-28 After: the AI answers from a live in-stock shortlist. Player asks, shortlist of in-stock products, AI picks from the list, the link goes to a real product page.Player asks"what blade for me?"Live in-stock shortlist~2,870 products, filteredAI picks only from the listexact names, listed priceReal product pageserver-side resolved id
The AI picks only from a live in-stock shortlist. Links go to real product pages.
catalog: megaspin, about 2,870 products

Why I built it

Players never know if their gear suits them

Table tennis players keep asking the same thing: is my equipment right for how I play? PingPath answers it.

The question

  • "Is my racket right for my style?"
  • "Should I go faster or stay in control?"
  • "Pre-made racket or custom blade and rubbers?"

The quiz asks

15 questions
  • skill level
  • goal
  • current setup
  • strokes
  • playing style
  • table distance
  • dominant wing
  • handle
  • grip
  • pre-made or custom
  • budget
  • speed vs control
  • indoor or outdoor
  • how often
  • accessories
highlighted: the questions that answer the worry

What they get

Gear matched to how they play

  • A blade, rubbers or pre-made racket picked for their style
  • Only real, in-stock products, at real prices
  • A link straight to the product page
source: the live pingpath quiz

01 / Problem

The AI recommended gear that wasn't there

Real miss

A discontinued blade

The Butterfly Zhang Jike ALC. You can't buy it any more.

Real miss

An out-of-stock rubber

Named with confidence. Not available to buy.

examples from July 2026, before the fix

02 / Cost

Every miss was a lost sale

Wrong item namedfrom memory
Dead search linknothing to buy
Lost sale, confused customertrust takes the hit
I did not measure a before-rate, so I show no percentage

03 / Fix

Give the AI a shortlist, not a free hand

The AI no longer answers from memory. It picks from a list of products that are in stock right now.

Flow of the fix. Megaspin catalog of about 2,870 products goes through an in-stock filter, then a per-player shortlist, then the AI with rules, then a server-side link check, then the customer. Loop A refreshes stock and price every 6 hours. Loop B rebuilds the catalog snapshot monthly.Megaspin catalog~2,870 productsIn-stock filterstock + pricePer-player shortlistbuilt per quizAI with rulesclaudeServer-side link checkreal product idsCustomerreal product pageAB
Flow of the fix. Megaspin catalog of about 2,870 products, in-stock filter, per-player shortlist, AI with rules, server-side link check, customer. Loop A refreshes stock and price every 6 hours. Loop B rebuilds the catalog snapshot monthly.Megaspin catalog~2,870 productsIn-stock filterstock + pricePer-player shortlistbuilt per quizAI with rulesclaudeServer-side link checkreal product idsCustomerreal product pageAB
A: stock and price refresh every 6 hoursB: catalog snapshot rebuilds monthly
Loop B is an automated job that also redeploys the app.
source: how the app is built, shipped 2026-07-28
megaspin catalog apiclaudefastapivercelgithub actions

Links resolve to real products

Buy links use real product IDs, resolved on the server. They are not searches. Amazon is the fallback.

Primary retailer: megaspin

I chose the retailer. The catalog, stock and price all come from it.

04 / Human role

The rules I gave the AI

I set the rules, chose the retailer and review the outputs. The AI works inside them.

Never invent a product

Pick only from the shortlist

Copy names exactly, quote the listed price

Say so when nothing fits

05 / Measure first

Few clicks? Check the links first

In August 2026 I saw lots of video views and few affiliate clicks. I audited the links before blaming anything.

megaspin links with affiliate id4/4

Every link I checked carried the ID.

link audit, August 2026
amazon links with tag4/4

Every link I checked carried the tag.

link audit, August 2026

The links were fine

So I added privacy-safe tracking to see where people drop off. No user IDs, cookies or IPs. Daily counts only.

tracking live from 2026-08-23

Lesson: measure before you blame the tool

Without the tracking I would still be guessing.

06 / Results

What the funnel shows

130 completed quizzes, 40 affiliate clicks. These are event counts, not unique people.

Quiz to click Funnel of events: 130 quiz completions, 40 affiliate clicks, about 0.31 clicks per completed quiz. These are event counts, not unique people.QUIZ COMPLETIONS (EVENTS)130AFFILIATE CLICKS (EVENTS)40about 0.31 clicks per completed quiz
Funnel events
EventCount
Quiz completions130
Affiliate clicks40
About 0.31 clicks per completed quiz. Events, not a per-person conversion rate.
source: app event log, 2026-08-23 to 2026-10-03
Clicks by retailer Affiliate clicks by retailer: 29 megaspin, 11 amazon, 40 in total.4029megaspin11amazon
Clicks by retailer
RetailerClicks
megaspin29
amazon11
source: app event log, same period
Clicks by placement Affiliate clicks by placement: 29 in the recommendation, 9 on the cart button, 2 on add all to cart.in the recommendation29cart button9add all to cart2
Clicks by placement
PlacementClicks
in the recommendation29
cart button9
add all to cart2
source: app event log, same period
Daily activity, Aug 23 to Oct 3 Daily quiz completions and affiliate clicks, August 23 to October 3, 2026. Busiest day was August 24 with 26 completions. Activity is front-loaded in the first two weeks and thin after mid September.0102030Aug 23Sep 1Sep 15Oct 3
Daily events, 2026-08-23 to 2026-10-03, missing days filled with 0
DateQuiz completionsAffiliate clicks
2026-08-23184
2026-08-24264
2026-08-2571
2026-08-2667
2026-08-2732
2026-08-2875
2026-08-2950
2026-08-3000
2026-08-3100
2026-09-0110
2026-09-0250
2026-09-0300
2026-09-0451
2026-09-0595
2026-09-0650
2026-09-0775
2026-09-0810
2026-09-0920
2026-09-1011
2026-09-1100
2026-09-1211
2026-09-1300
2026-09-1424
2026-09-1540
2026-09-1610
2026-09-1710
2026-09-1830
2026-09-1900
2026-09-2020
2026-09-2100
2026-09-2210
2026-09-2310
2026-09-2410
2026-09-2500
2026-09-2610
2026-09-2710
2026-09-2800
2026-09-2900
2026-09-3000
2026-10-0110
2026-10-0200
2026-10-0320
quiz completionsaffiliate clicks
Activity was strongest in the first two weeks, then thin. Days with no events show as zero.
source: app event log, daily counts
45

registered accounts.

from the earlier era when login was required
78

saved recommendations.

from the earlier era when login was required
  1. Grounding fix ships
  2. Link audit: 4/4 and 4/4
  3. Funnel tracking goes live
  4. Data cut for this page
tracking began 2026-08-23, so there is no before and after funnel comparison I make no sales or revenue claims here

07 / What it means for your business

Same pattern, your customers

If an AI talks to your customers, fence it in with your own data.

Product finder

Recommends only what is in stock.

Quote bot

Quotes only from your price list.

Support assistant

Answers only from your own help docs.

Only sells what you actually have

How I measured this

Where each number comes from

  • 130 completions, 40 clicks, 29/11, 29/9/2, daily chart: aggregate event counts from the app's event log, 2026-08-23 to 2026-10-03. No user IDs, cookies or IPs are stored, so these are events, not people.
  • about 0.31 clicks per completion: 40 divided by 130. It is a ratio of events, not a conversion rate.
  • about 2,870 products: the megaspin catalog size used by the fix.
  • 4/4 and 4/4: my link audit in August 2026. Eight links in total.
  • 45 accounts, 78 saved recommendations: from the earlier era when login was required.
  • I measured no before-rate for bad recommendations. I make no sales, commission or revenue claims.

Your customers

Put AI in front of customers, safely

On a free AI Fit Call we look at where AI could help your customers, and what it should never be allowed to say.

Book a free AI Fit Call

One conversation. A clear view of where to start.