iOS + Android game · live on iOS

Mercuro

Fill the thermometers to match the clues. A quiet, sudoku-adjacent logic game: no timers screaming at you, no energy systems, and the free game is complete.

Platform
iPhone, iPad, Mac, Vision · App Store · Android in closed testing
Reception
Featured in several gaming newsletters
Content
660 curated puzzles across 8 board sizes · 3 seeded daily puzzles · 40 achievements · 9 themes
Model
Free game, complete · $4.99 one-time Pro, $2.99 remove ads · no subscription
iOS stack
Pure SwiftUI (no game engine), Swift 6 strict concurrency, GameKit, StoreKit 2 · ~38K lines
Android stack
Native Kotlin + Jetpack Compose, pixel-parity port · ~40K lines, 73 test files
Mercuro gameplay, filling mercury tubes against row and column clues Mercuro daily puzzles: Warm-Up, Daily, and Challenge Mercuro themes, nine visual styles

Engineering notes

The game engine. Its own puzzle mathematics. A constraint solver that proves every board has exactly one solution, a generator that searches for boards with clean deduction chains, and a seeded random core so the whole world gets the same three dailies without a server round-trip.

The hint engine. It does not fill a cell for you. It finds the next move that is provable from what is already on the board and explains the deduction, so a stuck player learns the technique instead of losing the puzzle.

The polish. Nine themes, custom sound design, haptics on every commit, 40 achievements and a rank ladder, Game Center leaderboards, and offline play with iCloud sync. Built natively twice, SwiftUI on iOS and Kotlin with Compose on Android, against one shared puzzle core down to pixel-parity screenshot tests.

Links

App Store