Playground architecture: how we built a zero-setup demo #210
ferhimedamine
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The goal
We wanted a live demo of Dakera that any developer could try in 30 seconds — no account, no API key, no backend to spin up. The result is the Dakera Playground, which lets you interact with a live memory server in your browser.
Here’s a behind-the-scenes look at how it works.
The constraint: truly zero setup
Most "live demo" playgrounds cheat a little. They use a shared cloud database where all users share state, or they require you to sign up before you can do anything meaningful. We wanted something different: each visitor gets an isolated, stateful session with no signup required.
Architecture
The playground is a static frontend (no server-side rendering) that calls the real Dakera REST API:
Each playground session is backed by an ephemeral
agent_idscoped to that tab. When you run a scenario, the browser sends real API calls:Seven live scenarios
The playground ships with 7 guided scenarios, each demonstrating a different memory pattern:
Each scenario shows the raw API request, the response, and explains what’s happening under the hood.
Why Docker Compose made this possible
The self-hosted Dakera server runs as a single container with no external dependencies (no Postgres, no Redis, no separate vector database):
docker compose -f docker/docker-compose.local.yml up -d # Server ready at http://localhost:3000This meant we could run a playground server at very low cost without provisioning multiple managed services. The same configuration developers use locally is what powers the demo.
Lessons learned
We’re curious: what would you build with a self-hosted Dakera instance? Any scenarios you’d want to see in the playground?
All reactions