NinjaNext product
One Move Left: a logic puzzle where every level has one answer
Our sliding-block puzzle game for Android. A built-in solver checks that each of its 100 levels has exactly one winning move.
The Google Play listing is public. Version 1.0.
- Owner
- NinjaNext product
- Industry
- Consumer Apps & Games
- Period
- 2026
- Platforms
- Android
- Key figures
- 100solver-checked levels
- 9puzzle mechanics

The problem
Many puzzle games pad levels with trial and error, timers and ads. We wanted a calm game where every level is a fair, clever problem with one clear solution.
What we built
We built the game in React Native and Expo with the rules kept in a separate, tested engine. A brute-force solver and a level validator run over every level, and a level only ships if it has exactly one winning move.
Key features
- 100 handcrafted levels across five stages
- Nine mechanics, including momentum chains, crates, holes, sticky tiles, arrows, cracked floors, switches and portals
- Three-step hints: a rule nudge, which block to move, then the full move
- Stars, 16 achievements and day streaks
- Colour-blind symbols, an arrow pad as an alternative to swiping, and reduced motion
- Fully offline with local saves, no ads, no analytics and no account
- Board art drawn in code and sound effects generated by a script
Technology stack
The main technologies used in this project.
- React Native
- Expo
- TypeScript
- react-native-reanimated
- react-native-svg
- expo-sqlite
- Jest
- GitHub Actions
Our role
Designed, built and published by NinjaNext.
Challenges and how we handled them
Proving every level is fair
Handmade levels can hide a second solution. The solver explores every possible move, and the test suite fails if any level has zero or more than one winning move.
Screens
Let's build it
Planning something similar?
Tell us about your project. If it is close to One Move Left, we will explain what we would reuse, what we would do differently and what to decide first.



