DEV Community

Great Sage
Great Sage

Posted on

Coding from a phone, for real: a browser-based AI dev box you can spin up in two minutes

I keep ending up in situations where I want to fix a bug or nudge an AI agent along and the only device in my hand is a phone. SSH-from-phone works but it's miserable — tiny keyboard, no real terminal multiplexing, and you still need a box to SSH into. What I actually wanted was a full dev environment with an AI coding agent already wired up, reachable from any browser, that keeps my files between sessions.

That's what pushed me to package OpenCode — an open-source AI coding agent with a web UI — into a one-click deploy.

What's actually in the box

It's a container that bundles OpenCode's web UI with a real toolchain, not just a bare shell:

  • Python 3.13, Node.js 24 + npm, Bun, Go, Rust + Cargo, uv
  • runs as a non-root user with passwordless sudo — you can apt install things mid-session without the container being wide open
  • a persistent volume mounted at the workspace directory, so state survives redeploys
  • password-protected web UI on port 4096

You open a tab, log in, and you've got a terminal + AI agent that can read/write/run code in a real dev environment — from a phone, an iPad, whatever's in front of you.

Getting files in and out

The part that trips people up with any browser-based dev box: how do you move files between it and your laptop? Two options that don't require setting up your own file server:

# rclone — good for syncing whole project directories
rclone copy ./local-project remote:workspace/projects/

# magic-wormhole — good for one-off files, no config needed
wormhole send myfile.zip
# -> code like: 7-crossword-pandora
wormhole receive 7-crossword-pandora
Enter fullscreen mode Exit fullscreen mode

Both work fine from inside the container's terminal since it's a full Linux userland, not a locked-down sandbox.

Deploying it

I maintain a Railway template for this — full disclosure, I get a kickback if you deploy through it: OpenCode WebUI Workspace on Railway. Set a password, deploy, and you've got a URL in about two minutes.

If you'd rather not go through the referral, the image is public: ghcr.io/bon5co/opencode-webui-workspace:latest, runs on any Docker host. Point a reverse proxy at port 4096, mount a volume at the workspace path, set OPENCODE_SERVER_USERNAME/OPENCODE_SERVER_PASSWORD, done.

Where it falls short

Being honest about the rough edges:

  • It's one container per workspace — there's no built-in multi-tenant isolation if you want to hand this to a team, you'd deploy one per person.
  • No GPU, so it's for orchestrating an AI agent against a hosted model API, not for running local inference.
  • Base plan RAM is enough for editing and running most language toolchains, but a heavy Rust or Go build from cold cache will feel slow on the smallest instance size — bump the plan if you're doing serious compiling.

For "I need to fix this one thing and all I have is my phone," it's been solid.

Top comments (0)