Inspiration
Working with multiple AI agents quickly turns into a maze of terminals, chat windows, and logs. We wanted to make that work visible: who is doing what, which tasks are blocked, and whether an agent’s output actually works.
Ghost Grid draws inspiration from city-building games. Providers become towers, agents become employees, and projects become teams you can organize inside offices. The city gives you a place to understand and manage your AI workforce.
What it does
Ghost Grid turns AI agent activity into an interactive, explorable city. You can enter buildings, inspect sessions, assign work, and follow progress alongside recorded token usage and costs.
For coding tasks, we connect the experience to a verification pipeline: a lead agent performs the work, Daytona runs independent checks in an isolated environment, and OpenInference traces connect the workflow to Arize or Phoenix. The interface distinguishes completed work, failed verification, and skipped stages.
How we built it
We built the frontend with React, TypeScript, Three.js, and React Three Fiber, combining a 3D city with office views, staffing boards, and session terminals.
A Fastify backend with SQLite persists agents, projects, sessions, tasks, usage, and events. Provider adapters connect coding agents, including Claude and Codex, while server-sent events carry updates to the interface.
We integrated Daytona to verify an agent’s work outside its own working environment. OpenTelemetry and OpenInference capture model calls and verification steps, with trace export to Arize AX or Phoenix.
Challenges we faced
One challenge was keeping a playful interface accurate. A building should represent something meaningful, and a busy-looking city should reflect actual activity. We had to connect visual states to persistent backend records and make unavailable data explicit.
Another challenge was connecting agent execution, sandbox verification, and tracing into one understandable workflow. Separate integrations were useful, but linking them through a shared trace made it possible to follow a task from the initial message through verification.
We also explored sandbox inheritance and network isolation. Our Daytona experiments exposed account-specific constraints around forking and network settings, leading us to test snapshot-based inheritance and isolation configured at creation time.
What we learned
An agent finishing a response and its code passing independent checks are separate milestones. Both need to be visible.
We also learned that observability belongs in the product experience. Showing the path from instruction to execution to verification helps people understand what happened and decide what to do next.
Ghost Grid brings that workflow into a city you can explore—making AI teamwork easier to follow, inspect, and direct.
Log in or sign up for Devpost to join the conversation.