A real machine
behind every Slack thread.
Sparkyard gives every person in your workspace their own Linux computer and lets a coding agent work on it — Claude, Codex, Gemini or Copilot — from a thread, where the rest of the work already happens.
Not a container that vanishes. A microVM with your clones, your caches and your dotfiles still on it tomorrow — on hardware you own, billed to a model account you control.
How it reads
Mention it. That is the whole interface.
No dashboard to learn and no context to re-explain. The thread is the session: the agent works on your machine, asks when it is unsure, and hands back a link and a pull request — at the same time, because the machine is the same one.
maya 10:42
@sparkyard checkout broke after yesterday's payments-sdk bump — repo:booking-web
sparkyard 10:42
⏺ Working — reproducing on the thread's own branch…
sparkyard 10:44
Found it — but there are two call sites on the removed API. Checkout is your bug; the webhook handler will break on the next deploy too. What do you want?
✔ maya chose Fix both
sparkyard 10:47
Both migrated, tests green. Dev server is live: https://blue-otter.preview… — run a test card through checkout.
maya 10:49
works. PR please
sparkyard 10:50
⏺ Turn complete · $0.42 — PR #218: migrate both payment call sites off the removed API, authored as you.
What you get
Your computer, not a sandbox.
Every person gets their own microVM and disk. Clone a repo once and it stays cloned. Warm npm and Docker caches survive between sessions. Install a toolchain and it is still there next week.
Docker runs inside it. So do your tests, your build, and anything else you would run on a laptop — because for practical purposes it is one.
- machine
- 4 vCPU · 8 GB memory, per person
- disk
- 30 GB, persistent, yours
- caches
- npm, Docker and friends, kept warm on that disk
- concurrency
- 3 threads working at once
- idle
- suspends after 15 minutes, resumes warm
Isolation
One tenant cannot reach another.
The boundary between workspaces is a virtual machine, not a namespace. Separate kernels, separate disks, separate network ports — and the ports are isolated at the bridge, so two tenants on one host cannot see each other's traffic at all.
Each VM proves it on every boot, and the machine does not accept work until it has. That is the trace above: it is not a mock-up of a check, it is the check.
Your models
Inference goes where you say.
Sparkyard does not have to be the model vendor's customer. Point a workspace at Bedrock, Vertex, Foundry, Azure OpenAI or a gateway of your own, and every turn is billed to your account and answered inside your cloud — the same way the code is already running on your hardware.
Set it once per agent, from Slack, with the credentials sealed rather than pasted. A half-configuration is refused instead of quietly ignored, and a turn that reached the vendor's own endpoint anyway is reported — a workspace that believes it is routed and is not has been telling its security team something untrue.
- claude
- Bedrock, Vertex, Foundry, or any Anthropic-shaped gateway
- chatgpt
- Azure OpenAI, or any OpenAI-shaped endpoint
- gemini
- Vertex AI, in your own GCP project
- copilot
- GitHub operates it — there is no customer endpoint, and we say so
Everything it does
The features, in one place.
self-serve sign-in
/sparkyard connect and /sparkyard github — each person connects their own agent account and GitHub identity from Slack. No operator, no shell.
four agents, one thread
Claude, Codex, Gemini and Copilot. A person picks theirs, a workspace sets the floor, and //agent switches mid-thread — the work carries over, because the machine and the checkout do not move.
one task, several repos
Name one repo or let it find the rest. Each gets its own working tree on the same branch, so a change that spans your services becomes one pull request per repo instead of an afternoon of tab-switching.
work that starts itself
/sparkyard schedule every 24h … runs a task on a timer in its own thread. Wire a channel to your CI and a desk answers the red build — with the fix, if you let it.
live previews
Ask for a dev server and get a real URL tunnelled out of the VM. Frontend and API land on one origin, so there is no CORS to configure. /sparkyard ports shows what is actually listening — process names and all — with a button each, so nobody publishes a port by guessing at it.
your database, in a browser
/sparkyard db opens a read-only SQL console on a link only you can open. No VPN, no tunnel, nothing installed — and the database's password is typed into the console, never into Slack and never stored here. Postgres, MySQL, SQL Server, Mongo, Redis and ClickHouse.
a terminal and an IDE
/sparkyard shell and /sparkyard ide put you on the same machine the agent is working on — locked to you, opened from the thread.
shared desks
Bind a channel to a desk with its own machine and its own GitHub identity, so colleagues can report bugs without an account of their own.
the thread is the session
Reply to steer it. Permission prompts and questions are buttons. 🗑️ ends it. Everything is where the work is already discussed.
a machine, not a share of one
Every person gets their own microVM with their own credentials — not a container on a pool, and not an account on somebody else's. What your machine can reach is a rule, not a hope.
Shared desks
For the people who do not write the code.
Bind a channel to a desk and it answers everyone in it — from its own machine, with its own GitHub identity, scoped to exactly what it needs. Nobody has to connect an account, and nobody borrows a colleague's.
jon (sales) #bug-reports · 14:03
the booking calendar shows the wrong month on my phone
sparkyard 14:04
Which phone and app version? And does it happen on the month view, the week view, or both?
jon (sales) 14:06
iphone 15, latest app, month view only
sparkyard 14:07
Filed: #213 — month view renders previous month on iOS (repro included), severity: high. Thanks — the team sees it now.
Availability
Closed, and staying that way for now.
Sparkyard runs on hardware somebody owns, and every workspace on it is approved by hand. That is deliberate while it is young: a machine per person is a real cost, and the isolation is worth more than the growth.
If you are reading this, you probably know who to ask.