by DigitalAdvisors, LLC

The Harness
of Harnesses.

One interface over every AI coding agent you run — Claude Code, Codex, your own — from your phone, your desktop, your servers. The agents keep working. You carry the whole thing in your pocket.

self-hosted · outbound-only · your keys stay home

emma — attached

Three pieces. One surface.

Most AI tooling gives you another window to babysit. Emma gives you one place where all of them report.

EMMA CLIENT

The interface

A PWA that runs on your phone, desktop, or browser. Conversational chat and full terminal views over every agent session — attach to any session from any device, and the conversation travels with you. Start a task at your desk; approve the deploy from the sidewalk.

EMMA SERVER

The control plane

The relay that ties it together — run as your own instance, local or deployed. Durable conversations on an event log, an Activity center where agents report, timezone-correct scheduling for agent jobs, policy gates and approvals for autonomous work, plus backlog and file managers.

EMMA-CODE

The harness

Our own harness, built for teams that want flexibility: open-source-friendly, tuned for local models, standing instructions that persist across sessions, and native Kleos memory integration. Run it beside Claude Code and Codex — Emma treats them all the same.

Shipping today. Not a roadmap.

Everything below is running in production instances right now.

MULTI-TERMINAL

Tabbed terminals plus a 2×2 multiview. Four live sessions on one phone screen.

REMOTE BROWSER

An embedded browser pane — a live screencast of a dedicated Chrome on your machine. Log into anything remotely; sessions persist.

VOICE

Voice in, voice out. Run your agents hands-free from wherever you are.

DURABLE CONVERSATIONS

Conversations bind to named sessions and survive reconnects, restarts, and device switches.

DISK OUTBOX

At-least-once delivery. An agent's reply written to disk beats a dropped connection every time.

SCHEDULED AGENTS

A scheduling dashboard for autonomous jobs — cron in your timezone, DST-correct, with per-job notification policy.

ACTIVITY FEED

Where agents report. Approvals and questions arrive as actionable items, not noise.

POLICY GATES

Autonomy levels with teeth. Low-autonomy work holds for your explicit yes before anything irreversible.

BACKLOG MANAGER

A deferred-work backlog your agents can read, file to, and pick up — synced into the app.

FILE EDITOR

Edit workspace files in-app, with conflict detection so two writers never silently clobber each other.

SESSION CONTROL

Spawn and kill agent sessions from your phone. Claude Code, Codex, and emma-code, side by side.

KLEOS MEMORY

Context-graph memory that travels with the agent — across sessions, machines, and subscriptions.

Nothing dials in. Everything dials out.

The daemon runs on your machines and connects out over plain HTTPS and WSS. No inbound ports. No VPN. No tunnel service holding your traffic. Your code and your keys never leave your infrastructure — the only thing that moves is the conversation.

PER-INSTANCE ISOLATION

Every instance gets its own database and its own tokens. No shared data, no default endpoints — a misconfigured instance refuses to boot rather than dial someone else's server.

AUDITABLE BY DESIGN

One append-only event log carries every message, every approval, every job run. If it happened, it's in the log.

HARNESS-AGNOSTIC

Claude Code, Codex, and emma-code sessions run side by side, bridged into one chat surface. Cohesive work streams across multiple harnesses.

ON THE ROADMAP

Where this goes

The next step is multi-machine: daemons deployed across your infrastructure as ordinary Kubernetes or Docker services, a Machines tab in the client, and a deployed agent on every box. Kleos becomes the fabric agents use to talk to each other — shared context, not shared copy-paste. You stop SSHing into servers and start conversing with them: ask the agent on the box what changed, and it tells you. Role-based access for multiple clients and team fleet management round it out. None of this is shipped yet. All of it is where the architecture is already pointed.

Built for the person who runs the agents.

FOR DEVELOPERS

Stop juggling terminals

One $19 subscription puts Claude Code, Codex, and local models behind one portable interface. Your context follows you from phone to desktop to server. Four terminals on one screen, voice when your hands are full, and an agent that reports back instead of waiting for you to check on it.

FOR STARTUP CTOS

Don't lose your alpha

Manage AI subscriptions across frontier vendors from one control plane and route work to the right model and harness — which is how token spend actually comes down. Your team gets cohesive work streams; your company keeps its edge, because code and context stay on your infrastructure, not a vendor's.

FOR HIGH-TRUST ENVIRONMENTS

Own every byte

Self-hosted everything. Outbound-only connections, per-instance data isolation, keys that never leave your infrastructure, and an air-gap-friendly architecture. Every action lands in an auditable event log with explicit approvals. Emma doesn't carry compliance certifications today — it carries an architecture you can audit yourself.

The tool escaped the lab.

Emma is built by Justin Winthers — CTO and co-founder of RealEstateAPI.com, acquired by Beacon Software. RealEstateAPI serves hundreds of millions of API requests per day for 300+ customers across billions of property records.

Emma started as the system he built to run his own engineering life: agents that ship code, watch pipelines, schedule their own work, and report back to his phone. It ran his day before it had a landing page. Now it's a product.

Two prices. No tiers to decode.

DEVELOPER

$19/mo

  • Full Emma Client, on every device
  • Your own Emma Server instance
  • The emma-code harness
  • One person, unlimited sessions
Get started

ENTERPRISE DEPLOYMENTS

Let's talk

  • Self-hosted, on your infrastructure
  • Deployment and architecture support
  • Designed for high-trust environments
Call 571-205-7304