How We Built an IDE From Scratch, Powered by Hermes
Ara lets anyone build AI agents and workflows on their Mac. The hard question hiding in that sentence is where those agents actually live and run, and every off-the-shelf answer assumed you were already a developer.
So we built the environment ourselves. A native macOS app owns the experience, and a local Python runtime we call Hermes owns the intelligence. We rent the brain and build everything around it.
A Shell and a Brain
Ara is the shell: the floating bar, dictation, cursor overlays, and the graph view of what the agent remembers. Hermes is the brain, a Python process that plans, calls models, drives your apps, and runs multi-step tasks. Keeping them separate lets us evolve the interface and the engine on their own clocks.
Hermes ships bundled. The uv package manager brings its own CPython, installs into an Ara-owned directory that never touches your system Python, and runs as a child process we supervise rather than a service you manage. If it dies, the app restarts it. When you quit, it keeps running scheduled jobs.
Floating bar, dictation, cursor overlays, memory graph
Local Python runtime. Plans, calls models, runs your tasks.
Computer use, browser, connected accounts
Fresh token per request, out to api.ara.so
How the App Talks to the Agent
The two halves speak ACP, a newline-delimited JSON-RPC protocol over stdio with no sockets or HTTP between them. The app sends a prompt, and Hermes streams back a feed of events (its thoughts, each tool call, the message chunks) that the bar renders live as they arrive. A separate call swaps the model mid-conversation.
Sessions are durable. Each chat holds one stable session ID, persisted to disk, so a follow-up question survives Hermes restarting or the whole app relaunching.
The Hard Part Was Plumbing, Not Prompts
Most of the real work happens on three localhost ports. One is Hermes itself. One is an in-process server that hands the agent its tools: computer use, browser control, and your connected accounts. The third is the one we are quietly proud of.
Hermes reads its API key once at startup, but our auth tokens expire every hour. Rather than teach the runtime to refresh, we put a tiny reverse proxy in front of it. Every request gets a freshly minted token before it reaches our gateway, and the agent never notices the credential moved underneath it.
Workflows Are Agents That Run Without You
Capture a task once and give it a schedule: a cron expression, a fixed interval, or a single future time. From then on Hermes runs it on its own.
Each run is three turns. It does the work, verifies the result against the stated goal with a screenshot, then writes what it learned to a skill file so the next run starts smarter. It is the same runtime whether you are chatting with it or it is firing at 8am.

Before You Try It
Building the whole stack (shell, protocol, and runtime) is expensive, and we would not recommend it lightly. But the hard part of an “IDE for agents” was never the editor. It was making a local agent reliable, fast, and safe enough to trust with your real machine. That is where the engineering went.
The best way to see it is to use it. Download Ara, describe something you do every week, and watch Hermes turn it into a workflow you stop thinking about.
