-
-
App Icon
-
Victory! Solved the daily puzzle. Stars awarded based on efficiency. Share your score card on social media to challenge friends.
-
Puzzle complete with leaderboard rank. Daily difficulty escalates throughout the week — Challenge Sunday is the hardest.
-
Start your daily puzzle. One challenge per day, identical for everyone. Build your streak and climb the stars leaderboard.
-
Mid-solve gameplay. Tap strokes to place them in order. Live preview shows your rebuild as you deduce the exact paint sequence.
-
Foggy Friday challenge. Part of the grid is hidden, increasing the deduction difficulty. An unsolved puzzle awaits your logic.
-
Challenge Sunday gameplay. The ultimate weekly test. Solve it for maximum stars and leap up the leaderboard.
-
Enter the Gauntlet. Climb a tower of increasingly difficult puzzles. Each solve advances your level; one miss ends your run.
-
Gauntlet gameplay. Climb escalating difficulty levels. Win shields by solving under par, or watch an ad to continue.
-
Weekly Gauntlet leaderboard. Compete against all players worldwide for the highest rank this week. Rankings reset every 7 days.
-
Endless mode. Unlimited unique puzzles, no pressure, pure flow. Collect stars and climb your personal best-level rank
-
Most Stars leaderboard. Track your all-time star collection across Daily, Gauntlet, and Endless modes. Compete globally
-
Share your victory. Post your score card to social media. Challenge friends and spark the viral loop — no sign-up required.
Inspiration
I wanted a daily puzzle that rewards reasoning instead of reflexes — something you can finish in two minutes and still feel clever about. The idea came from watching a painting take shape: whole rows and columns laid down one stroke at a time, each one hiding part of what came before. If you can paint it forward, you should be able to rewind it.
What it does
AnchorMind Rewind shows you a finished grid of colored tiles, built one row or column at a time and asks for the exact order it was painted. The key insight is that the last line placed is the only one still showing a single solid color — remove it, and the next one appears. Every board is generated with a peel-solver that proves the puzzle has exactly one solution before a player ever sees it. Available in English, Simplified Chinese and Traditional Chinese.
Daily — one free board a day, identical for everyone, resetting at midnight. The week has a personality: Monochrome Monday hides the colors so you read symbols only, Foggy Friday hides part of the grid, and the Sunday Challenge is the hardest board of the week. Holidays get their own palettes and themed strokes: Ghost Day, Valentine's, New Year, St. Patrick's, Earth Day and Lunar New Year.
Endless — unlimited puzzles at your own pace on a ladder that grows from 4x4 to 7x7 with more strokes, colors and fog. Par is the fewest strokes possible; match it for three stars and climb the global stars leaderboard.
Gauntlet — a weekly survival run. Clear a rung under Par with no mistakes to win a shield; a wrong move spends one, and when the shields are gone the run ends. Out of shields, an optional rewarded ad buys one more, and buyers start every run with a free shield.
The whole game runs locally: no account, no internet needed, resume mid-puzzle any time, and scores sync to the leaderboard when you reconnect. Every solve produces a shareable score card.
How I built it
The game is plain HTML, CSS and JavaScript — no framework — so the logic is testable in Node and the whole thing loads instantly. js/rewind.js holds the paint model, the peel-solver and the unique-puzzle generator; the generator brute-forces each candidate board and rejects anything with more than one valid paint order. It ships as an Expo + react-native-webview app built with EAS cloud builds, so no Mac was needed. Leaderboards run on Supabase, analytics on PostHog behind feature flags, ads through Google AdMob, and purchases through RevenueCat (react-native-purchases), where the Remove Ads entitlement gates the ad path.
Dailies are deterministic from the date, so there is no puzzle bank to run dry — every future date already has its board. To prove that holds, I ran a forward sweep over 100 years of daily puzzles, 2026 through 2125: roughly 36,500 boards, every one brute-force verified as having exactly one valid paint order, fogged and unfogged, at full difficulty, with zero fallbacks. A second sweep proves every Gauntlet rung is unique and solvable.
Challenges I ran into
Proving uniqueness at scale was the hard part: a generator that makes a pretty board is easy, one that guarantees a single answer is not. Fog made it harder — hiding cells can quietly create a second valid order, so fog is only applied where the solver still proves uniqueness, and it is capped so it stays a garnish rather than a wall.
I also built the board as real brush strokes and threw it away: readability depends on crisp tile edges, and paint texture fought it. And the interstitial ads never served at first, which turned out to be a rollout flag and a placement problem rather than the SDK.
Accomplishments I'm proud of
A puzzle whose every daily board is provably unique for the next hundred years. A daily rhythm with a personality for each day of the week, in three languages. And a monetization model I'm comfortable with: the daily puzzle is free and ad-free forever.
What's next
More games in the AnchorMind family — Cascade and Flux — plus more holiday boards for the markets the game already speaks to, and paywall tests at the moment a Gauntlet run runs out of shields.
Log in or sign up for Devpost to join the conversation.