Voice AI you operate like a terminal

Talk. It runs.

You speak; Gray does the work across your machines — runs commands, drives coding agents, checks your servers — then answers in a calm voice. Self-hosted, with your own keys.

STEP 01

Say what you need

Tap the orb and speak — “check prod,” “ship the branch,” “what’s the server doing.” No prompt engineering, no walls of text.

STEP 02

Gray runs it

Across agents, terminals, files, research, and scheduled jobs. Watch the work happen live, and interrupt at any moment to change course.

STEP 03

It speaks back

A plain answer in a calm voice, with the detail — charts, logs, diffs — on your screen.

The voice loop

Talk, watch it work, redirect mid-task.

Most AI apps hand you a chat box and a hundred features. Gray does one thing well: it operates your infrastructure by voice.

Interrupt at any moment

Speak over Gray and it stops, listens, and redirects mid-task. The loop is yours.

Everything visible

Every command, every agent step, streamed live. Nothing happens behind your back.

Hands-free, not eyes-closed

Approve the risky steps yourself — by tap, or simply by saying yes.

9:41
Youdeploy the latest version of my app
Agent 1GRAYEXIT 0
deploy main
build → 3 edge regions
live · yourapp.com (38s)

Done — your app is live at yourapp.com.

Youis signup working?

Homepage and login are fine — new signups were failing, so I bumped the database. Tested it; you’re good.

What it does

One focused thing, done well.

Built for developers and terminal power users first. Approachable enough for everyone else.

CREW

A whole crew, working at once

Run Claude, Codex, Grok, Gemini, and Cursor in parallel. See each agent’s job, status, file scope, and elapsed time. Stop or redirect any of them with a word.

2 AGENTS RUNNING · EXIT 0
SERVERS & SSH

Your hosts, hands-free

A roster of your machines with live health. Add an SSH target, your tailnet, and your keys. Tap a host to drop straight into its terminal.

ubuntu@prod-01.tailnet · 12MS
LIVE TERMINAL

The raw operator layer

Color-tagged sessions, live scrollback, and a full key bar — Ctrl, Alt, Esc, arrows, Ctrl-C. Never forced on you; always one tap away.

tail -f /var/log/nginx/access.log
REMOTE APPROVALS

You hold the keys

Agents pause on the risky steps — “Push to main?” — and Gray surfaces the exact command. Approve or deny by tap, or simply say yes.

APPROVAL · git push origin main
BRING YOUR OWN MODELS

Your models, your keys

Connect Claude, GPT, Grok, or Gemini. Gray orchestrates them and the keys stay on your box — never in the app.

4 PROVIDERS · KEYS LOCAL
ACTIVITY

One log of everything

Every voice turn, agent run, scheduled job, and alert in a single timeline — with your files alongside.

TODAY · 14 RUNS · 0 FAILED
Self-hosted & private

Runs on your box. Keys never leave.

A free, guided setup trial walks you through connecting your box. Then you choose a plan in the app.

Your keys and data never leave this box. Gray runs as your own instance — nothing is sent to us, ever.

01

Runs on your machine

Gray’s runtime lives on your own box — a VPS, a home server, a Raspberry Pi. Scan a code or paste your tailnet URL and you are connected.

02

Keys stay home

Your model keys and SSH access never leave the box. The app is a remote control, not a middleman.

03

Voice handled locally

Transcription runs on-device, so what you say is processed in your pocket — not on someone else’s server.

Connections

Wired into the tools you already run.

Gray reads, writes, and acts across your stack — so “post the release notes to Slack” is one sentence, not five tabs.

slack
github
notion
linear
shopify
supabase
discord
gmail
googlecalendar
googlesheets
airtable
cloudflare
sentry
hubspot
composio
hermes
FAQ

Plain answers.

Developers, operators, and SSH power users — and anyone who would rather talk to their machine than type.

Put your terminal in your pocket.

Free, guided setup. Your box, your keys.