Deberts

Online Multiplayer Card Game for iOS & Android

Deberts is a mobile card game application for iOS and Android that brings the classic trick-taking card game Deberts (also known as Klabberjass, Klaberjass, and a close relative of Belote) to a modern, polished mobile experience. The app lets players enjoy Deberts anywhere — playing live against real opponents over the internet, or offline against intelligent AI bots when there's no connection or no time to wait for a table.

AI AGENTIC DEVELOPMENT

The game supports 2, 3, and 4 players, including the team-based 2vs2 mode, and ships with multiple authentic rule variants — Classic, Klabor, and Kharkiv — so communities that grew up playing their own local version of Deberts feel right at home. From the 32-card deck and trump-selection bidding to declarations like terc, fifty, belle, and debertz, every rule of the game is faithfully implemented and independently verifiable against a formal rules specification.

Our goal was to deliver a card game that is technically robust, visually beautiful, and genuinely fun — a real-time product that feels instant and reliable on a phone, yet flexible enough to support the many regional rule variations that make Deberts beloved across Eastern Europe and beyond.

Tech Stack

  • Mobile: Flutter / Dart, GetX
  • Real-time: WebSockets (web_socket_channel) with custom reconnection
  • Networking: REST API via Dio (custom interceptors)
  • AI / Game logic: Custom bot engine, ISMCTS, Monte Carlo simulation
  • Backend services: Firebase (Auth, Cloud Messaging, Analytics, Crashlytics)
  • Auth: Sign in with Apple, Google Sign-In
  • Attribution & analytics: AppsFlyer, Firebase Analytics
  • Media: flutter_soloud (audio), Lottie animations
  • DevOps: GitLab CI/CD, Fastlane, automated App Store & Google Play delivery

Project Duration

6 month

Team

  • 2 Flutter (mobile) developers
  • 2 Backend developer
  • 1 QA
  • 2 UX/UI
  • 1 PM
  • 1 BA
  • 1 DevOps
  • 1 PO

Business challenges

Building a competitive, real-time multiplayer card game for mobile presented several layered challenges:

Faithful, configurable game rules

Deberts is not one game but a family of regional variants. Card rankings, trump logic, combination scoring, bidding obligations, and edge cases (four sevens re-deal, trump-seven exchange, belle protection) differ between rule sets. We needed a single engine that could be configured to play Classic, Klabor, or Kharkiv rules correctly — and prove it.

Real-time play that survives the real world.

Mobile networks drop. Players background the app, lose signal in an elevator, or switch from Wi-Fi to cellular mid-trick. A multiplayer card game has to handle disconnects and reconnects gracefully without corrupting game state or unfairly penalizing players.

A believable offline opponent.

To let users play instantly — without waiting for a live table — the app needed AI bots strong enough to be challenging and human enough to be fun, across every supported rule variant and player count.

IOS

Cross-platform parity

The same gameplay, scoring, animations, and feel had to be identical on both iOS and Android from a single codebase.

Android

Engagement and retention

As a casual-competitive game, success depends on social play, smooth onboarding, push-driven re-engagement, and a frictionless sign-in experience.

App Store and Google Play compliance.

Shipping and continuously updating a game on both stores — including Apple Sign-In requirements, tracking transparency, and consent flows — demanded a reliable release pipeline.

Key Results

By designing and developing the project, the team delivered:

A single cross-platform Flutter application running natively on iOS and Android with shared game logic and a consistent player experience.

A complete real-time online multiplayer mode built on WebSockets — lobby, room creation with custom filters, waiting room, live play, and in-game messaging — with robust reconnection handling that restores a player back into the live game after a dropped connection.

A fully offline mode against AI opponents, powered by a custom bot engine, so players can start a game instantly with no internet connection.

Support for 2/3/4 players and 2v2 team play, with three configurable rule variants (Classic, Klabor, Kharkiv) and granular custom-rule settings.

Social and engagement features: friends system, invitations, presence (online status), quick in-game chat messages, complaints/blocking for fair play, and push notifications.

Multi-language support out of the box — Ukrainian, English, and Russian.

A fully automated CI/CD pipeline delivering builds straight to the App Store and Google Play.

Our Solution

Cross-platform client in Flutter

The entire app is built on Flutter (Dart) from a single codebase, using a clean, modular feature architecture (GetX for state management and dependency injection). This gave us native performance and pixel-perfect parity across iOS and Android while keeping development efficient.

Frictionless onboarding and engagement

Sign in with Apple and Google Sign-In, SMS/PIN flows, deep links and app-links for invitations and sharing, Firebase Cloud Messaging push notifications, and App Tracking Transparency / consent handling for store compliance.

A configurable rules engine, verified against a spec

All game rules live in a dedicated game-logic layer (deck management, card tracking, combination detection, score calculation). The rules are formalized in a written specification covering every parameter — trump selection, combinations, validity of moves, scoring — and the implementation is continuously checked for conformance against it, which is how we guarantee correct play across Classic, Klabor, Saltivka and Kharkiv variants.

Polished game feel

Custom animations, a sound engine (SoLoud + audio session management), Lottie animations, native splash and adaptive launcher icons, and in-game contextual phrases give the game a premium, lively feel.

Intelligent AI bots

The offline opponent is a custom bot engine combining hand evaluation, bidding and declaration evaluators, opponent modeling, and an Information Set Monte Carlo Tree Search (ISMCTS) strategy alongside a Monte Carlo simulator. Bot archetypes and tunable traits make opponents feel varied and human, and the same engine respects whichever rule variant the player has selected.

Real-time engine over WebSockets

Online play is driven by a dedicated socket service with separate lobby and game channels. We engineered resilient reconnection logic — including state-hash validation on reconnect — so a player who loses connection mid-game is seamlessly returned to the exact live state rather than being kicked or desynced. A REST API (via Dio, with auth, language, error, and logging interceptors) handles everything outside the live table.

Our Achievements

We built a complete, production-grade real-time mobile game with:

  • A GitLab-based CI/CD pipeline that runs unit tests, builds Android APK/AAB and iOS artifacts via Fastlane, and publishes automatically to Google Play (internal/alpha tracks) and the App Store — with separate dev and prod environments and secure secret/keystore management.

  • A clean, layered architecture (core / data / features) that isolates game logic from UI and networking, making the codebase scalable and easy to extend with new rule variants or mod.

  • Unit and conformance test coverage for the rules engine and bots, including dedicated audits comparing front-end and back-end bot behaviour to keep online and offline play consistent.

  • Product analytics and stability tooling baked in: Firebase Analytics, Crashlytics, and AppsFlyer for attribution — giving the business real visibility into player behaviour, crashes, and acquisition.

  • Localization-ready from day one (Ukrainian, English, Russian) with a centralized localization service.

We will contact you shortly to arrange a meeting to discuss your goals. icon team

Kashcheiev Maksym

Head of Business Development

contact us:

or via Email
clutch
We are on the Сlutch
We already have 5.0 and 40 reviews from satisfied customers
View our profile