Build and test web apps in Chalk Sandboxes
This demo shows how to run coding agents on Chalk to turn a description into a web app, source files, and a browser test recording. Describe a small app, test the result in Preview, and compare it with the agent’s browser test recording.
From an idea to a working app and browser test
Try a reading list: add a book, mark it read, and filter by status. Enter that request below and select Build it.
Use Preview to test those actions yourself. Compare them with the agent’s QA recording, then open Code to see the generated files.
The agent builds and tests an app inside a Chalk sandbox. The proof is a working preview and a browser recording of the requested actions.
Built on Chalk
Chalk provisions the sandbox and routes its model requests. The example supplies the coding agent, browser tools, and QA recording.
An isolated workspace
Each build runs in its own Chalk sandbox with a restricted kernel. Its network allowlist blocks outbound connections except to the configured router host.
Model keys stay outside the sandbox
The sandbox receives a placeholder for the router key. Chalk inserts the real key only on requests to the configured host.
Model access through the router
The Claude Agent SDK sends model requests to Chalk’s router through an Anthropic-compatible endpoint. The example defines the agent’s file and browser tools.
Resources you can set
Set the sandbox’s CPU, memory, and lifetime in Python. Each build runs within those limits.
Run it on your own
Clone the example, log in to Chalk, and store a router key as a Chalk secret. Build an app from your terminal, or run deploy.py to host the web demo in your environment.
The example uses the Claude Agent SDK with file and browser tools. You will need uv and a Chalk environment with the model router enabled. Adapt the prompt, starting files, and checks to the apps you want to build.
git clone https://github.com/chalk-ai/app-builder-agent
cd app-builder-agent
chalk login
# One time: store a router key the sandbox can use without ever seeing it.
# Paste the key that `chalk router api-key create` prints.
chalk secrets set CHALK_ROUTER_API_KEY
# Build an app from your terminal: the app lands in ./out/app,
# the QA recording in ./out/qa.mp4...
./build_cli.py "A pomodoro timer with a small task list" --out out
# ...or deploy this page as your own web app.
./deploy.pyGive your coding agent a workspace
Talk to an engineer about running generated code and browser tests in Chalk sandboxes.