The problem
Free casino-style games are rarely free. They're built to sell coins, so the player who spends the most wins. We wanted the opposite: a fair fight. Everyone gets the same 1,000 points every day, nobody can buy more, and the best player of the week wears the crown. It also had to stay clearly a game, with no real money and no prizes, because both app stores treat anything resembling gambling with extra caution.
What we built
A neon arcade with eight cabinets: two slot machines, a robot-factory pinball table, blackjack, roulette, video poker, Plinko and scratch cards. Your score for the day is the highest balance you reach, so a bad run after a big win never costs you. Daily scores add up over the week, and every Monday the app reveals the podium, crowns the winner and adds them to a Hall of Fame. Reminders bring players back for each day's 1,000 points.
Swift and SpriteKit for iPhone and iPad, Kotlin and Jetpack Compose for Android.
Both apps use the same accounts, weekly leaderboard and Hall of Fame.
Spins, hands and pinball games are settled on the server, so nobody can tamper with the app to top the board.
On Android it runs on a physics engine we wrote to match the iPhone table, with multi-touch flippers and a working plunger.
We left out ads, real money and prizes, and there's no way to pay for an advantage. The only purchase is an optional cosmetic Supporter badge.
How it went
- 3 Nov Plan written and the iPhone app built, including the pinball table.
- 4 Nov The Android version written, with all eight games, and submitted to Google Play.
- 4 Nov Approved, with a catch. Google classes any casino-style game as simulated gambling, even with no real money, so the app can't be offered in seven countries, including South Korea and Qatar. Every other market was unaffected.
- 5 Nov The iPhone version submitted to Apple.
- 5 Nov An Android update was rejected because three games crashed. Release builds of an Android app go through a shrinking step that removes anything it thinks is unused. It had removed artwork the app loads by name, first the pinball textures and then the playing cards. None of this happens in the builds used during development.
- 6 Nov Fixed so the artwork can't be removed, and launched on Google Play.
Test the exact build that goes to the store, not the one you develop with. On Android the two can behave differently. Every client release now gets a full play-through on the final signed build before we submit it.
The result
Thousand Up went from a written plan to a live Google Play app in four days, as two native apps sharing one backend. The iPhone version is in App Store review. For our clients, it shows how much a focused build can deliver in a week, and that launching well means planning for each store's rules, not just writing the code.
Want something like this for your business?
Tell us what you need. We reply within one business day.
