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
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.