Your GPU rig,
in your pocket.

Live stats, job alerts and one-tap actions for the machine with the GPU. On your phone, from anywhere, with nothing to set up.

encryption
End-to-end, phone to machine. QUIC + TLS 1.3
our servers
See nothing. Relays pass on bytes they can't read
network
No open ports, no VPN. Works behind NAT and CGNAT
runs as
Your user, never root
price
Free for one machine
fig. 1  rig-1, training at 87%
The machine overview in the app: an RTX 4090 at 87% utilization, 71 °C and 380 W
rig-1
online · direct 18 ms
link
end-to-end encrypted
gpu 0
87%
vram
18.2 / 24 GB
temp
71 °C
power
380 W
job 12
train.py · epoch 31/40
eta
38 min

what it does

Everything you'd walk to your desk for.

stats

Live stats

Utilization, VRAM, temperature, power and fan for each GPU, plus CPU, RAM and disk. Updated every second.

gpu 0 87% · 18.2/24 GB · 71 °C

alerts

Job alerts

Wrap any command in pgpu run. Your phone buzzes when it finishes or crashes, with the exit code and run time.

job 12 exit 0 · 2h 14m

actions

Quick actions

Save the commands you run all the time. One tap from your phone, Face ID for the risky ones.

restart ollama ok in 1.2 s

processes

GPU processes

See which process holds which GPU and how much VRAM it uses. Stop a runaway one from your phone.

pid 48213 python · 14.1 GB

terminal in 1.1

Terminal

A real shell on the machine, as your user. Check a log, restart a service, answer Claude Code.

gan@rig-1:~$ tail -f train.log

models in 1.1

Local models

Chat with the Ollama models on your own GPU. Pull, load and delete them from your phone.

qwen3:14b 42 tok/s

fig. 2 jobs
The Jobs screen: two running jobs and today’s finished and crashed ones
fig. 3 gpu processes
The GPU processes screen: VRAM use per process, each with a stop button
fig. 4 quick actions
The Quick actions screen: saved commands like Restart Ollama as tiles

ai agents

Works with Claude Code and Codex.

Run a coding agent, or any long task, through pgpu run. Your phone gets the result when it ends, so you don't have to sit and watch it.

From 1.1, open the terminal on your phone to answer an agent that is waiting for you.

gan@rig-1 ~/appbash
pgpu run --name "fix tests" -- claude -p "fix the failing tests"
job 31 "fix tests" started · watched by 1 device
Fixed 3 failing tests in src/api.rs
cargo test: 142 passed
job 31 finished in 18m · exit 0
pgpu run -- codex exec "split api.rs into modules"
job 32 started · watched by 1 device
fig. 5  18 minutes later
PocketGPUnow

Job finished · rig-1

fix tests: claude exited 0 after 18m.

setup

Installed and paired in a minute.

install
$ curl -fsSL https://pocketgpu.app/install | sh

Installs to ~/.local/bin and starts a user service. No sudo.

pair
$ pgpu pair

Shows a QR code. Scan it in the app and choose view, control or shell.

watch
$ pgpu run -- python train.py

Your phone tracks the job and tells you when it ends.

or docker
$ docker run -d --gpus all -v pocketgpu:/data ghcr.io/gato25/pocketgpu

For RunPod, Vast.ai and other GPU hosts. No ports needed.

linux x86_64 or arm64 · wsl2 and docker · nvidia driver for gpu stats · native windows in 1.2

security

End-to-end encrypted. We can't see your rig.

Your phone and your machine each hold a key. Every connection is encrypted with QUIC and TLS 1.3 from one end to the other: direct when it can be, through a relay when it can't. Relays only pass along bytes they can't decrypt.

fig. 6  how your phone reaches your machine
Your phone paired key a91c…

direct · quic + tls 1.3

rig-1 agent · your user

or through a relay that sees encrypted bytes only

Stats, logs and job output Your phone, end-to-end encrypted readable byonly you
Terminal and chats (1.1) Your phone, end-to-end encrypted readable byonly you
Alert text, like “Job finished” Push server, then Apple or Google readable bydelivered, never stored
Push token Push server readable byus, to deliver alerts
Waitlist email Cloudflare and our email provider readable byus
paired keys only
The agent drops unknown keys before reading a single message.
permissions
View, control or shell, checked on every request.
never root
The agent refuses to run as root.
face id
Asked before kills, risky actions and every terminal session.
audit log
Every action and refusal, kept 90 days on your machine.
open source
Read every line that runs on your machine. MIT or Apache-2.0.

pricing

Free for one machine.

Pro adds machines, a month of history and every alert type, for $4 a month or $36 a year. Every plan includes the open-source agent and end-to-end encryption.

Featurefreeproteam · later
Price$0 $4 $12
Machines1unlimitedshared, 1 to 5 people
History24 hours30 days30 days
Stats, jobs, quick actions, processesIncludedIncludedIncluded
Terminal and local models (1.1)IncludedIncludedIncluded
Job finished and crashed alertsIncludedIncludedIncluded
Temperature, disk, offline and Ollama alerts Not includedIncludedIncluded
Custom alert thresholds Not includedIncludedIncluded
Home-screen widget and Live Activity (1.2) Not includedIncludedIncluded
Roles, audit export, alerts to the whole team Not included Not includedIncluded
Custom relays and webhook alertsIncludedIncludedIncluded
Join the waitlist

questions

Common questions.

Do I need to open ports or set up a VPN?

No. The phone and the agent connect directly when they can and through an encrypted relay when they can't. There is nothing to configure.

Can you see my data?

No. Stats, logs, the terminal and chats are end-to-end encrypted between your phone and your machine. Alerts carry only a short text like “Job finished · rig-1”.

Which machines work?

Linux with an NVIDIA GPU, including WSL2, Docker, RunPod and Vast.ai. Without a GPU you still get CPU, RAM and disk. Native Windows comes in 1.2.

Does it work with Claude Code and Codex?

Yes. Run them with pgpu run to get an alert when they finish. The terminal in 1.1 lets you answer them from your phone.

Is the agent open source?

Yes, under MIT or Apache-2.0. You can read every line that runs on your machine before you install it.

When can I use it?

The private beta for iOS and Android opens to the waitlist first. Join, and we'll email you when it's ready.

beta

Get the beta on your phone.

iOS and Android. Confirm your email and we'll write when the beta opens. Every email has a one-click unsubscribe.