Chat to build.We run the emulator.

The AI agent writes Flutter Flame code, boots a headless Android emulator, tests the game, and gives you a web preview right in the chat.

An intelligent workspace where LLMs have direct access to a full Flutter environment, Android SDK, and KVM acceleration. Just describe your game and watch the agent build it.

workspace stdout
Idle. Generate above.

A complete AI game studio.

We don't just generate snippets. We manage the entire lifecycle in isolated Docker sandboxes.

PHASE 01

Generative Base Pass

Provide a concept. The agent writes the complete project structure (main.dart, components, pubspec.yaml), compiles it, and deploys it to a headless emulator to verify it runs without crashing.

Agent creates fresh Flutter project...
PHASE 02

Iterative Chat & Skills

Once the base game is running, you chat with the agent to refine it. Invoke specialized 'Skills' to add features, audit UI for overflow errors, or compile release APKs.

/skill add-feature --prompt "Add a boss enemy"

Agent Skills

Built-in commands the agent can execute to perform complex tasks.

Add Feature

/add-feature
AGENT SKILL

Injects new mechanics, screens, or enemies into the existing game. Modifies code, compiles, rebuilds preview.

$ /skill add-feature --prompt "[what to add]"

Headless KVM Emulation

The agent doesn't just write code, it runs it. Every project is tested on a real Android Virtual Device inside Docker.

KVM Hardware Accel

Fast emulator boots and smooth 60fps rendering to catch frame drops.

📸

Auto-Verification

The agent automatically captures screenshots and checks logs for RenderFlex errors.

🌐

Instant Web Preview

Every successful build is also compiled to Flutter Web, playable instantly in your browser.

Real Flutter Code

Clean, standard Dart + Flame code. No proprietary lock-in. Export anytime.

lib/main.dart
import 'package:flame/game.dart';
import 'package:flame/input.dart';
import 'package:flame/parallax.dart';
import 'player.dart';

class MyGame extends FlameGame
    with HasKeyboardHandlerComponents,
         HasCollisionDetection {
  late Player player;

  @override
  Future<void> onLoad() async {
    final bg = await loadParallaxComponent([
      ParallaxImageData('stars_bg.png'),
    ], baseVelocity: Vector2(10, 0));
    add(bg);

    player = Player()
      ..position = size / 2
      ..size = Vector2(48, 48);
    add(player);
  }
}
< 0sSandbox boot
< 0msHot reload
< 0sAVD boot
< 0sAPK compile