Skip to main content

EigenInteractive

Build games, not boilerplate

Accounts, lobby, sockets, turn clocks, ratings, push notifications, Play Store config out of the box. EigenInteractive ships all of it as one Cloudflare Worker and one Flutter app. You only write the game rules.

Open Source by design - both the server and the app shell are open source and MIT licensed. The server emits an OpenAPI specification for a custom client to consume.

pnpm create eigen-game my-game
/plugin marketplace add eigeninteractive/eigen-platform
/plugin install eigen@eigeninteractive

The Cloudflare Worker

One Cloudflare Worker with its own domain, database and players. Sockets, reconnection, turn clocks, ratings and replay are handled by a Durable Object.

The Flutter App

A Flutter app for Android and the web. Sign-in, lobby, friends, profiles, avatars, push and deep links all ship with it and natively speaks the Server's Language.

You write the rules

Six pure game rules functions and a board widget. One command scaffolds both halves and leaves a game running on your machine.

What you write

The rules, in TypeScript
Six pure functions: the opening position, what a move does to it, what each seat is allowed to see, and when the game is over.
The board, in Dart
One widget that draws the current view and proposes moves, plus a rules twin, so the board can respond before the server has answered.
What a new game can be set to
Declare the options. The engine renders the creation dialog, the lobby entry and the countdown around them.

What you get

  • Sign-in, accounts, profiles and avatars
  • Lobby, invites, friends and bots
  • WebSockets, reconnection and turn deadlines
  • Ratings, history and immutable replay
  • Push notifications and deep links
  • The game's own website and its Play Store pipeline

For scale: Rock–Paper–Scissors, the reference game, is about 220 lines of TypeScript and 500 of Dart, and none of it mentions turns, deadlines, sockets, versions, persistence or ratings.