Design before code
Johannes came to us through Dribbble with an idea and nothing else. We started with wireframes, then designed the whole game in Figma — coins, board, level map, leaderboard, profile and the first-run walkthrough.
HQ Paphos, Cyprus · worldwide
Johannes, a founder in Cape Town, found us on Dribbble with an idea for a match-three game where the tiles are crypto coins. We did the wireframes and the whole game design, built it for iOS and Android to prove the mechanics on real phones, then rebuilt it as a Telegram Mini App with a real server, leaderboard, ads and an admin panel.

We designed CryptoCrush from scratch, built it natively for iOS and Android to test the match-three mechanics on real phones, then rewrote it in TypeScript as a Telegram Mini App with a server-backed leaderboard, Adsgram ads, a bot and an admin panel. All 25 levels play on every build, and the client accepted the Mini App about eight weeks after the first commit.
There was no design, no prototype and no code — only a wish for a match-three game built around crypto coins. Everything had to be made, and the game had to feel right in the hand before it went anywhere near players.
Johannes came to us through Dribbble with an idea and nothing else. We started with wireframes, then designed the whole game in Figma — coins, board, level map, leaderboard, profile and the first-run walkthrough.
Before anything went to players, we built the game for iOS and for Android to test the match-three mechanics on real devices. Johannes reviewed the iOS build on his own phone.
One web build for every platform was considered and turned down: the client wanted native feel, and in a match-three the feel is the product. Android became the commercial target, since it is well over 80% of the Cape Town market.
Each build is a rewrite, not a port. What carries across is the design, every asset, the sound set, the game rules and the level curve — none of the code.
The screens and the flow between them, from the first launch to a cleared level.
The full visual design in Figma: crypto-coin tiles, the board, a painted level map, leaderboard, profile and onboarding.
A SwiftUI app with a SpriteKit board, verified on a physical iPhone.
Kotlin and Jetpack Compose, with a Canvas board. Its engine was checked against the iOS level curve, so both play the same game.
A TypeScript rewrite with a Canvas 2D board, a real server, a leaderboard, ads and a bot — running on the client's own bot and Cloudflare account.
A separate page for whoever runs the game: players, weekly results, prizes and request timings.
Screens from the iOS build: a SwiftUI shell around a SpriteKit board, verified on a physical iPhone. The Android build — Kotlin and Jetpack Compose — plays the same 25 levels, with a weekly and all-time leaderboard, a rank ladder, a profile, a music picker and an onboarding walkthrough.






Difficulty was tuned with a level simulator, not by feel: goal tiles per move rise from 2.6 at level 5 to 4.35 at level 25.
We rebuilt the game in TypeScript with a Canvas 2D board, and gave it what the native builds never had: a server, real players on the leaderboard and real ads. It runs inside Telegram on the client’s own bot and Cloudflare account.
Scores go to a Cloudflare D1 database through Pages Functions that verify Telegram's initData signature on every request. Weekly and all-time boards, with the week reset on the Africa/Johannesburg calendar.
Adsgram serves an interstitial between rounds and a rewarded ad for extra moves, on a pacing the client chose.
The bot replies to every message with a Play button — Adsgram requires a responsive bot before it approves a platform.
No code is shared with the native builds. The design, assets, rules and level curve are, and the Mini App's 816 passing tests check the engine against the iOS curve.






Captured from the Mini App running outside Telegram, so the board shows the game’s stand-in rivals rather than real players.
Players overview, weekly results, prizes for the weekly winners and request timings. Each admin signs in with their own password, and everything fails closed: with no secrets set, the server answers 503 and shows nothing.


Shown with demo data: the names and numbers are invented, not real players.
The Telegram Mini App was delivered to the client and accepted on 29 September 2026. The game is live in Telegram through the client’s bot.
3
iOS, Android and a Telegram Mini App, all from one game design and one set of rules.
25
Difficulty was tuned with a level simulator: goal tiles per move rise from 2.6 at level 5 to 4.35 at level 25.
~8
From the first commit on 3 August 2026 to the Mini App being delivered to and accepted by the client on 29 September 2026.
“He is absolutely the best in his work. I'm really pleased with everything.”
“Very good service. I would recommend him to anyone. He went the extra mile for me it's really much appreciated.”
Johannes found us on Dribbble, and the whole project ran through Dribbble too. Both reviews he left there are above, word for word.
Bringing your idea to life as a mobile app MVP is no small task. Launching quickly while delivering a seamless user experience is crucial to validating your concept and securing early traction.
Have a game or an app idea, and nothing built yet?
Tell us the idea. We design it, build it on the platforms that matter to your players and hand over something they can use.
Yes. CryptoCrush started as an idea with no design and no code. We did the wireframes, the design and the builds, and the client accepted the Mini App about eight weeks after the first commit. That is the kind of work we take on through MVP development and mobile app design and development.