Stand up a software factory of your own

The open source alternative to Devin.

engrams runs Claude Code, Codex, or your own agent in an isolated microVM on your infrastructure. Start one from a prompt, a schedule, a pull request, or a Slack thread. Walk away mid-task, and pick it up days later with its files and history intact.

Open sourceFirecracker · KVMGKE · EKSClaude Code · Codex
Example workflow · fix failing tests
Sec. 0Work on your terms

Run your whole stack.

Each agent gets its own microVM, so it can clone the repo, install dependencies, run the build, and start a dev server.

Stay involved.

Delegate from Slack, inspect the changes, and reply in the thread to steer. You stay in the conversation while agents work in your cloud.

Keep keys out.

Give an agent the API operations it needs. For brokered integrations, the proxy inserts the credential outside the VM and blocks requests the policy does not allow.

Pay for work, not idle VMs.

When a session goes idle, engrams snapshots it to object storage and frees the host for other work. The next prompt restores it on any host in seconds. Give every service its own agent without a VM running for each.

Sec. 1A session

Run any harness in a rich web interface.

A session in the engrams dashboard: the agent has drawn a pelican riding a bicycle and shared the PNG in the transcript; the right pane holds a shell open on the guest.
The transcript, and a shell on the same VM

A session is Claude Code, Codex, or your own harness, working the way it does on your laptop, but in a microVM your team can reach. The transcript streams on the left. On the right, open the same machine the agent is using: a terminal, the browser it drives, VS Code, the files it changed. People start sessions from the dashboard or Slack; an automation starts the same kind of session from a trigger.

ShellA terminal on the guest, holding the same filesystem and the same processes the agent is working in.
BrowserThe browser the agent drives, streamed over VNC. Watch it work through a page, or take the mouse.
IDEVS Code on the workspace (code-server), with its own integrated terminal.
FilesImages and files the agent shares render in the transcript. Attach your own in a reply and they land in the guest.
Sec. 2In Slack

Delegate from the thread you're already in.

@mention the bot and a session opens for that thread, running as you, with your credentials. Reply to steer it, and your replies join the same run. When an automation has news, it posts to the channel and you answer right there: tell it a pull request is failing CI, and the same agent diagnoses the failure, pushes a fix, and reports back when the build is green.

  • Starts from a mention
  • Runs as whoever asked
  • Replies join the run
  • Agents report in
#payments-eng
engramsapp09:12

Nightly dependency upgrade: opened 3 pull requests. #4182 (stripe-node 17 → 18) is failing CI.

maya09:20

@engrams #4182 is failing on the webhook tests. Can you fix it?

engramsapp09:21

On it, in the same session that opened #4182.

engramsapp09:34

stripe-node 18 renamed the signature header type. Pushed a fix to #4182. CI is green.

Sec. 3Automations

Hand off the work that repeats.

A schedule, a pull request, a Slack mention, or a webhook can start a session, with no one typing a prompt. When one prompt is not enough, chain steps into a workflow: prompt the agent, run the tests, branch on the result, and post to Slack or GitHub.

In production at Cortex
schedule01

Dependency upgrades and CVE fixes

Scans for outdated dependencies and open CVEs, opens each upgrade, runs the tests, and fixes what breaks. One pull request per change, reviewed by the pull request bot.

schedule · Datadog02

Memory hot spots

Queries Datadog profiles for the largest allocation frames, opens a task on the service that owns the code, and rewrites the hot path. The pull request carries the before and after numbers.

Datadog webhook03

Bug triage

A new production error opens a run. The agent reproduces and diagnoses it, then pushes a fix or files an issue with the root cause. Duplicate errors join the run already in flight.

Linear · Slack04

A project with an owner

One agent watches a Linear project and its Slack channel. It picks up issues, opens pull requests, answers questions in the thread, and posts a daily status.

Every run is a session you can open.

Open a run to see each step, its inputs and outputs, and the session that did the work. Read the transcript, reply to the agent, or take over in its shell. Runs survive a server restart and can wait hours for a reply without holding a VM.

Ships in the box

Pull request review

A finder and a verifier review each pull request on the repositories you list, and post the confirmed findings as one GitHub review.

timeautomationtriggerdurationstatus
06:00dependency-upgradesschedule12m 02s● done
06:12pr-review · #4821pull request1m 48s● done
06:30memory-hot-spotsschedule9m 40s● done
07:03slack · #eng-infrathread mentionwaiting◌ waiting
08:15pr-review · #4823pull request0m 51s◐ running
08:20bug-triagewebhook · datadog2m 30s◐ running
08:22project-ownerlinear issue—○ queued
Sec. 4How it works

Start in a second.
Pick up anywhere.

01

Bring your image

Push any Linux image with /bin/sh and enable it once. engrams boots it, runs your warm-up command, and saves the result, so installs and caches are done before the first session.

02

Start warm

A prompt or a trigger starts a session from that saved state in under a second, with dependencies installed and caches already warm.

03

Sleep, wake, fork

An idle session is saved to storage and its VM is released. The next prompt wakes it on any host in one to two seconds. Fork a session to try two approaches from the same point.

base image · stored oncesession deltawriting now
cold start †
<1s
resume · same host †
<100ms
resume · any host †
1–2s
1000 paused sessions · 4 GiB each
≈100GiB

† Measured on Cortex's deployment: GKE, C3 nodes, Firecracker with lazy memory paging.

airtable
asana
circleci
cloudflare
cortex
datadog
discord
figma
github
gitlab
hubspot
jira
linear
netlify
new relic
notion
pagerduty
sendgrid
sentry
shopify
slack
stripe
twilio
vercel
airtable
asana
circleci
cloudflare
cortex
datadog
discord
figma
github
gitlab
hubspot
jira
linear
netlify
new relic
notion
pagerduty
sendgrid
sentry
shopify
slack
stripe
twilio
vercel
Start with one task

Start.

Run the stack locally and give an agent its first task. When you are ready for a shared deployment, follow the GCP or AWS guide to run engrams in your own cloud.