Snake n Friends
Classic snake, rebuilt for a phone and played head to head.
Snake n Friends, designed and built end to end: a mobile snake game with a 60-sector campaign and a 1v1 arena where friends and strangers play best-of series for skill rating. Firewalls, glitches and decoy cores make every grid a puzzle, and every run is replayed on the server from its seed and inputs before the score counts.
- Expo
- React Native
- TypeScript
- React Native Skia
- Reanimated
- Expo Router
- Firebase Auth & Firestore
- Cloud Functions
- RevenueCat
- App Store Connect API
- react-i18next
- Sentry
- EAS Build
The problem this approach addresses
Competitive mobile games have to trust a score that was produced on a player’s phone. Snake n Friends demonstrates a deterministic engine the server replays before a result counts, alongside matchmaking, seasons and a store.
The examples provide discussion points for a consumer mobile product: what runs on the device and what the server verifies, how purchases are granted once even when the store calls back twice, and how a release reaches nine languages.
What it does
A game you can check.
The engine is a seeded, tick-based simulation: a run is its seed plus the turns you made. Firewalls flash a warning before they go live. Play a round and watch it get replayed. Try it.
- The same seed always produces the same grid
- The server re-runs every run before the score counts
- Drawn on a Skia canvas, glows and all
Sixty sectors, one at a time.
The campaign climbs through easy, medium, hard and expert tiers. Each sector has its own firewall layout, earns up to three stars, and unlocks the next.
- Firewalls, glitches and decoy cores raise the stakes
- Stars and best scores saved to your account
- Seasons with a live countdown
Head to head, a game at a time.
Challenge a friend with an invite code or get matched by rank, then play a series of games in the same arena. Ranked games move your skill rating from Bronze up to Iridescent and the Top 250.
- Wins, score and rating change for both players
- Ranked and casual games in one series
- Matchmaking within your rank band
Reasons to come back tomorrow.
Daily rewards and challenges sit one tap from Play. Playing a friend every day builds a streak with milestone rewards, and calling cards, themes and power-ups fill out your loadout.
- Friend streaks with milestone rewards
- Calling cards on weekly, monthly and seasonal rotation
- In-app purchases granted on the server, once
Why it’s built this way.
How do you keep scores honest?
The game engine is deterministic. The app sends a run’s seed and inputs, and a Cloud Function replays them on the same engine. The score that counts is the one the server gets.
How do arena games work?
Two players share an arena and play a series of games in it. Each game is settled on the server, and ranked games adjust both players’ skill rating with an Elo-style formula.
Why Skia instead of plain React Native views?
The grid redraws every tick with glows, particles and shaders. Skia draws it on a GPU-backed canvas, and Reanimated runs the animation off the JavaScript thread, so effects don’t wait on game logic.
How are purchases handled?
RevenueCat handles the store. The app asks a Cloud Function to grant the item, and the store’s webhook is a backstop; both write to one ledger, so a purchase is never granted twice.
Which languages does it support?
Nine: English, Spanish, French, German, Portuguese, Japanese, Korean, Chinese and Arabic.
Who built it?
Full Stack Technologies, LLC, designed and built end to end. It’s how we’d build your product, too.






