Platform
Not a showcase. A factory.
The 23 products were not written one by one. Everything a game needs — leaderboards, chat, identity, notifications, safety, matchmaking — was written once and is published from its own repository under its own version. An app takes what it wants and leaves the rest.
- shared modules
- 67
- with a server of their own
- 29
- written lines of content
- 400,394
- content languages
- 19
The same Kotlin, two screens
The Android app and the browser version come from the same Kotlin source; the server side is TypeScript. That is why every game on this site opens in a browser.
The content foundry
Levels, questions, word lists and game lines come out of one factory: 400,394 written lines in 19 languages. Part of it exists as spoken recordings as well. New levels arrive without waiting for an app update; every puzzle is proven to have one solution before it ships.
One identity: Zaparo ID
Sign in once and every app knows you. You start as a guest; signing in is a later choice, never a condition. Identity says who somebody is and never decides what an app may do.
All the modules
29 of them come with a server of their own. Each in its own repository, under its own version. A fix in a module reaches every app at its next build; no app carries a private copy of its own.
Identity and people
- MyZappserverThe visible identity: name, avatar, language and profile card.
- FriendsserverAdding a friend by short code; the address book is never read.
- PresenceserverWho is online right now, read the same on the phone and the server.
- Player SafetyserverBlocking, reporting and text scanning, announced to nobody.
- Rewarded referralserverAn invitation both sides earn from, claimed once.
- InviteInvitation texts dealt evenly, so two can be compared.
- QrinviteFace-to-face invites: show the code, scan it with the phone beside you.
- CreatorsserverA permanent public page for something somebody made.
- MomentsserverWhat a person did across the apps, read back as a profile and a feed.
- ReactionsserverLight reactions to anything, from a fixed vocabulary.
- Zaparo ChatserverMessage streams with read receipts, rate limits and a safety scan.
- Quick ChatPreset phrases for multiplayer, translated per player; nothing to moderate.
Play
- Zaparo ArenaserverLeaderboards: periods, ties, a correct around-me window.
- Friend leaguesserverA private league for a group of friends, with its own periods.
- Async turn-based duelsserverAsynchronous duels: invite, accept, play in turns, timed.
- Zaparo LobbyserverThe pre-match room for real-time play, entered by code.
- Zaparo RoomsserverGroup and room join codes, with membership.
- Skill RatingA skill rating and fair matchmaking; the window widens while you wait.
- Ghost OpponentsserverRecorded runs played as opponents; it always says it is a recording.
- CastserverInvented opponents with a name and a face; a new game is never empty.
- Zaparo NetcodeserverReal-time transport whose queue survives a dropped connection.
- Match State EngineAn append-only move log; it notices when two devices diverge.
- Replay & SpectateWatching a match afterwards, or while it is played.
- Turn ClockA turn clock and time controls both players read the same way.
- Fair RandomShared randomness two phones agree on and neither can steer.
- Streak rescueserverA friend saves your broken streak; once.
- ChallengeScore challenges that survive every share sheet.
- SeasonTimed season events published without an update.
- Progress & achievementsStreaks, daily statistics and achievements.
- Milestone share cardsMilestone detection and share cards in the app's language.
- GiftingserverSingle-use gift codes; redeemed exactly once.
- GalleryserverHuman-moderated contests; one vote per account.
Content and words
- Remote contentserverLevels, lessons and templates that arrive without an update.
- BoardsSudoku, nonogram and minesweeper boards, hints and progress included.
- Word KitThe on-device dictionary for word games, with difficulty bands.
- ClueWhat a word means, in the player's language, written and spoken.
- GamelineOne-line sayings for the moments a game names, in the player's language.
- VoiceVoice clips per language; sequenced, interruptible, ducking the music.
- Language choiceThe language the app speaks, chosen apart from the device's.
App shell
- Theme kitOne brand colour in, a complete light and dark theme out.
- Settings screen kitA settings screen built from what the app hands it.
- Zaparo splashThe brand opening; plays while the app is already starting behind it.
- UpdateA minimum-version gate; never locks the app when it cannot be read.
- ConfigserverRemote flags and staged rollouts; a read never waits for a server.
- App lockA PIN and a biometric lock for the app.
- Share & exportShare cards and PNG, PDF and CSV export in one call.
- "Made with" watermarkStamps the brand and the address on an image before export.
- Story/post formatted exportsFits an image into a story frame before a platform crops it.
- Media toolkitPicking, cropping, compressing a photo, and taking one.
- Zaparo MapsPins that cluster on a map; photos attached by reference.
- QR / barcodeQR codes: draw one, read one, move data between two phones with no network.
- WidgetsHome-screen widgets that refresh without asking for a permission.
- Zaparo BellserverReminders and push; waits for quiet hours, never drops a message.
- Favorites & collectionsSaving, tagging and collections, on Android and in the browser.
- Collaborative contentserverShared collections that work offline and resolve their own conflicts.
- ZaparoLinkserverDeep links, deferred links and share previews.
- App platform seamsThe jobs every app does at start-up, in one package.
Measurement and upkeep
- AnalyticsserverOne event language across every app, checked in code.
- Crash & diagnosticsCrash reports, structured logs and traces.
- DebugA developer menu whose absence from a release build can be audited.
- SchemaserverThe naming rules every event and trace conforms to.
More
- Cloud Saveserver
- Creditsserver
- Fit check
- Juice kit
- Sign-in kit
- Store Review