How I built a daily geography game and used Omni to make it better

Analyzing PinDrop data in Omni

PinDrop-Omni Blog

The challenge that started it all #

Recently, my father-in-law emailed the family a link to Matt Shumeyer's piece, Something Big is Happening. The subject line was "This article is pretty eye-opening." The argument: AI has crossed a threshold where it can perform most cognitive work better than most people. Not a decade away. Happening now.

Coming from someone with no stake in the tech industry, it landed differently than the usual think pieces. So I gave myself a challenge to build something real, something I genuinely couldn't have built on my own six months ago, to test whether the hype was true.

I'm a daily games person. Wordle, NYT Connections, the LinkedIn games. I'd also spent time with GeoGuessr and Flagle. But geography games kept feeling either too hard and time-consuming, or too niche. I wanted something that felt like the NYT suite: modern, simple, two minutes max, shareable.

That thing became PinDrop. Every day, you get five locations, drop a pin on a map, and score points based on how close you get.

I built the whole thing with Claude.

Not "I had some help from AI." I sat down with not a single line of production-grade code to my name, and talked my way to a working application.

I used Vercel for hosting, Mapbox for the maps, and MotherDuck as the database layer. The first time I saw it running in a browser with scoring, maps, and a share button, I felt like the challenge had been worth setting.

Where Omni came in #

Building the game was one thing. Understanding what was happening inside it was another.

I launched PinDrop on March 4th with a few Instagram stories and some texts to friends and family. By the end of the day, I had over 200 players. The number surprised me, but what I really wanted was to understand who they were, how they were playing, and whether the game was actually good.

Every round played, distance guess, score, timezone, and device were all sitting in MotherDuck. Connecting it to Omni took a few minutes. From there, I opened a branch and started building the data model. I pointed and clicked my way to quick aggregates and created calculated fields for the metrics I actually cared about. 

Then, I opened the Modeling Agent in the IDE and asked it to pull in the remaining tables, write initial field descriptions, and build out additional metrics. A few minutes later, it came back with a Topic (a curated dataset) that reached across all my tables with more detail than I would have put in at first pass.

The dashboard came together fast. Within a couple of hours, I had KPIs at the top (total games played, unique players, average score, average time) and charts breaking down players by timezone, device type, and daily volume. I used Markdown to format things exactly as I wanted. I built out custom Vega-Lite maps for geographic breakdowns. Once embedded in the app, I passed my CSS into the dashboard so the experience felt unified.

That analysis alone told me things I didn't expect: my audience is overwhelmingly US mobile users in CST and PST, but I also had players across Europe within the first few days.

PinDrop 1

Insight that improved gameplay #

After the first few days of reviewing player data, I could see something was off. I’d initially ranked locations 1 through 5 in terms of difficulty. But then I noticed, players were landing 1,500km away from locations I'd marked as easy. Others I'd expected to be hard were getting pinned almost perfectly. The data told me something was wrong. Staring at it didn't tell me what to do about it.

So I asked our AI agent, "Which locations have the biggest gap between the difficulty rating I assigned and how players are performing?" Omni came back with a ranked list instantly. Svalbard Global Seed Vault was the most brutally hard location in the game by actual player distance. I had it rated as moderately difficult. Khartoum. The Sahara Desert. Players were off by thousands of kilometers. Meanwhile, locations I'd assumed were obscure were getting nailed because of their distinctive geography.

pindrop gif 2

From there: "If I wanted to rebalance the difficulty pool, which locations can I drop the difficulty for based on distance gap?" 

Then: "Are there locations appearing in the early rotation that might be too hard for new players still learning the scoring system?"

These aren't questions you can pre-build charts for. They're the kind that only become obvious once you have data. They only become answerable when you can interrogate that data in plain language. Since then, I’ve been able to continue to iterate and appropriately score locations based on actual data from day-to-day gameplay and even the practice mode results.

I also built an admin dashboard in Omni, where I can directly edit location difficulty ratings, manage the upcoming daily challenge rotation, and override specific dates. Omni’s AI agents gave me the what. The admin tools gave me the how. Within an hour of that first conversation, I'd adjusted difficulty ratings on a dozen locations, rebalanced the day-1 rotation for new players, and scheduled harder locations later in the week.

That loop, AI surfacing an insight so I can act on it, makes the game better.

The takeaway #

I set out to prove that something big was happening with AI. For me, the answer is yes. PinDrop is the proof. I built a full production game with a custom admin experience in a matter of weeks. Two months after launch, I have around 15,800 players across 40 countries and over 73,135 plays. PinDrop has since grown to seven sub-games. Every time I've added one, I've used the Modeling Agent to scaffold the new model.

The data infrastructure I built with MotherDuck means every design decision I make can be tested against behavior, not gut feeling. I'm watching retention curves, understanding where players drop off, tuning the difficulty pool week over week. Omni’s Dashboard Agent has made it easy to spin up new tabs as the game has grown, displaying feature adoption, user patterns, and retention signals I didn't have visibility into at launch.

My father-in-law sent that article to prove a point. I don't think he expected it to result in a geography game. But here we are and the cherry on top is that he loves it. Plays every day and we can always count on an excited message in the family group chat. I now have a lot of group chats that have become PinDrop-focused and it’s so much fun. 

PinDrop is free to play at playpindrop.app. A new puzzle drops every day.