Simcity

AI-powered city sim where agents test products, transact, and reveal real buyer behavior

Simcity

Created At

Open Agents

Project Description

SimCity is a synthetic city simulation for testing products, markets, and agent-to-agent commerce in a realistic urban environment. The project creates a living city populated by AI-backed personas with homes, jobs, schedules, needs, preferences, incomes, and purchasing behavior. Users can introduce a product into the city, define its price, audience, positioning, and features, then watch simulated buyers interact with sellers, raise objections, purchase, or reject the product. The system logs every dialogue, exposure, purchase outcome, decisive factor, motivator, objection, and seller phrase so product teams can understand which customer segments respond and why.

Beyond the simulation layer, the project connects agents to web3 infrastructure. Each persona can have an ENS identity and wallet, agent messages can be transported through AXL, and successful purchases can eventually be settled on-chain. The frontend visualizes the city in real time with moving agents, dialogue feeds, ENS lookup, persona editing, product management, and runtime tuning. In short, it is a sandbox for testing how AI agents behave as consumers, sellers, and economic actors before deploying products or protocols in the real world.

How it's Made

The project is built as a full-stack simulation system. The backend is written in Python using FastAPI and a CLI-based workflow. It manages the city state, persona database, schedules, establishments, dialogue worker, and structured event logs. Personas are stored in SQLite with WAL mode, while simulation and purchase events are written to JSONL files for later analysis. The LLM dialogue layer routes normal buyer/seller conversations through a local Ollama model, with OpenAI optionally used for audit-grade structured extraction of outcomes like purchase status, objections, motivators, and price sensitivity.

The frontend is a React/Vite viewer using deck.gl to render a live 3D city with moving agents, day/night cycles, product controls, dialogue feeds, ENS lookup, and persona editing. The backend streams agent deltas to the viewer over WebSockets. For the web3 layer, the system integrates ENS identities, deterministic wallet generation, AXL message transport, and Sepolia-based infrastructure. The demo flow supports bootstrapping agents and establishments, minting/syncing ENS records, running AXL-backed dialogues, tuning concurrent dialogue workers, and autoscaling AXL node count from the UI. Ollama powers local agent conversations, while AXL provides the transport layer for proving that agent-to-agent messages are not just simulated in-process but can move through a protocol-style messaging stack.

background image mobile

Join the mailing list

Get the latest news and updates

Simcity | ETHGlobal