The yodeler doesn't fall for the strikethrough price
I built a Price Is Right "Cliffhangers" clone last Friday on Shopify's new developer tools. Then I spent way too much time on it.
Watching The Price Is Right as a kid was a treat. A parallel world with dozens of games running while I was stuck at a desk. How was that even real? So on a sick day, I’d always take a peek and watch.
Last Friday, I channeled my inner kid and set out to build a clone of my favorite game, Cliffhangers, with Shopify’s new developer tools. It was surprisingly easy.
For those of you who don’t remember, the original gameplay is simple: you guess the price of three items, and a little Bavarian yodeler climbs a cardboard mountain by however far off you were. Twenty-five steps and he goes over the edge with a sad “yodel-ay-ee-oooo.”
You have one job: guess three prices as close as you can to keep the yodeler on the mountain.
How it works
It runs on real stores. The three products each round come from Shopify’s Global Catalog over UCP — the same interface AI shopping agents are built to use to browse and buy from stores. Real products, real prices, a different set every round. There’s a small curated fallback list, but the default is “whatever the catalog hands back.”
Direction doesn’t matter, only distance. Being $4 over costs exactly as much as being $4 under. It changes how you think about guessing. #strategery
Two modes. Hard mode is the classic 25-step cliff. Easy mode gives you 50 steps on the same round, for when you just want to mess around.
There’s a leaderboard. Global, no login, just drops a cookie. Pick a 1–8 character handle if you want your name on it. I just reset it, so the top is wide open.
What I didn’t expect but should have
I went in to play with developer tools. I came out having written a non-trivial amount of trivial code that has nothing to do with this game.
You ask the Global Catalog for products and it hands you the whole internet’s inventory, which is great, except the whole internet’s inventory is a mess. It does a pretty good job of cleaning things up, but when I asked for prices in US dollars, one search for “ceramic bowl” came back in dollars, euros, pounds, and Australian dollars in a single list, each item priced honestly in its own currency, just not the one I asked for. (The docs list currency as a “buyer signal” but stop short of calling it a filter. Narrator’s voice: in my tests, it wasn’t.)
And a lot of products turn out to be unguessable on purpose: a gift card is whatever you decide to load on it, a mystery box is a mystery box. Those had to go.
Is this just my game’s problem? Maybe not. Ecommerce merchandising — the mystery box, the strikethrough price, the “only 2 left” — is built for a person. It runs on impulse and the small thrill of not knowing. An agent shopping on your behalf has neither, so the storefront that’s spent fifteen years getting better at selling to humans looks, to a program, like a pile of stuff it has to route around to reach the boring true part underneath: a real price, an honest category, is-it-actually-in-stock.
I found that out building a game, which is its own kind of non-human shopper. First thing it did was skip everything a person is supposed to fall for.
⛰️ Play now! Go reclaim nostalgia and a spot at the top of the mountain.



