PiriGram
Puzzle game by PiriGramLive in the browser

PopSkip

A puzzle played on sheets of bubble wrap. You pop one bubble, then jump to the next, and try to clear the whole sheet without trapping yourself.

Free, in any modern browser on a phone or a computer. No account, no ads. English and Turkish.

PopSkip's home screen: a painted meadow at sunset with a stone path, a cat in a straw hat and red scarf walking it, finished sheets of bubble wrap on the stones behind and the next roll ahead.
Home is a trail. Finished rolls lie behind the cat, the next one waits ahead.
A PopSkip roll in play: an irregular sheet of bubble wrap with twelve popped bubbles numbered in order, 16 bubbles left, and Undo, Hint and Restart buttons with their counts.
Twelve pops into roll 5. The numbers show the order you popped them in.
PopSkip's Today page: a three-day streak, two daily goals (pop 40 bubbles, finish 2 different rolls) and today's roll with its difficulty.
Today: your streak, two small goals and the day’s roll.

How to play

  • Pop every bubble. Start on any bubble that glints.
  • Straight: skip two bubbles and land on the third, up, down, left or right.
  • Diagonal: skip one and land on the second.
  • You can never land on a bubble you have already popped. The glowing bubbles are the ones you can reach next, but not every one of them leads to a finish.

Undo takes back your last move. Hint shows a safe next move, and when you are already stuck it offers to take you back to a point from which the roll can still be finished. Finishing without help earns its own badge.

What is in the game today

  • A painted trail of rolls through meadows, forests, lakes and snowy passes, every roll proven solvable.
  • A daily roll, the same for everyone on a given day, with a stamp for each one you finish.
  • A streak for the days you finish a roll, and two small goals each day that earn extra undos and hints.
  • Badges, a profile with your chosen cat drawing, and a share card that shows your result without giving away the route.
  • Real recorded pop sounds and optional nature sounds.
  • Progress saved on your device. Once the game has loaded, it keeps working without a connection.

Having trouble? See PopSkip help.

Behind the build

One rule, and a solver that checks every roll

The problem

PopSkip is meant for a few quiet minutes on a phone. That puts two demands on the software. Every roll has to be finishable, because a player who gets stuck needs to trust that a full solution exists. And help has to be honest: a hint should point to a move that really can still finish the roll, and it has to work without a network connection.

My part

I designed the game and its rule, and I make the product and architecture calls. I build it with AI coding tools under my direction: every decision is written down, the rule is covered by automated tests, and I play each build on my phone before it is released.

How it fits together

  1. Roll generatorA script cuts irregular sheets with holes from a hidden grid and keeps only the ones the solver proves can be finished. Each one is rated for difficulty before it ships.
  2. Game coreThe rule engine and solver, in plain TypeScript with no UI or network code. It is the only place the rule lives, and shared test fixtures pin down what counts as a legal move.
  3. Web clientReact for the screens and a canvas renderer for the bubble wrap. It asks the game core whether a move is legal and for hints, and keeps progress in the browser. A service worker lets it run offline.
  4. HostingA static site on Azure Static Web Apps, deployed by GitHub Actions after type checks and unit tests pass. Browser tests run on every change to the game.

A decision and its cost: hints computed on the phone

Hints come from a search that runs on the device, not from a server. That keeps the game playable offline and every tap instant, and it means a hint can be proven rather than guessed. The cost is a fixed search budget, because a phone cannot search forever in the middle of a game. When the budget runs out before a proof is found, the game says so: it shows a labelled best guess and does not charge a hint. When the solver proves the position can no longer be finished, it offers to take you back to a point where it still can. I chose a hint that is sometimes openly unsure over one that is sometimes quietly wrong.

What comes next

  • iPhone and Android apps.
  • A server that replays each move list to verify scores, before any ranking or leaderboard exists. The shared test fixtures are there so that server can be checked against the same cases as the game.

Updated 30 September 2026.