The app

Three tabs, three questions: what needs me, let’s talk, and what is Edward up to.

Edward’s app is a progressive web app served by your Mac on port 3000. Open it in any browser, or install it on your phone’s home screen (that needs an https:// address; see Quick start). The same Edward, with the same memory and conversations, is behind every surface: the app, voice, iMessage, the widget and the screens.

Today

The front door, and where the app opens. In order:

  • What needs you, each with its action on the card: a message thread waiting on you, an event about to start, a send held for your approval, a note Edward left, a late pet dose. Cards never flood: one per thread, one per note title.
  • Today’s digest, and a short line from Edward that only the real signals support.
  • What I did: what he did since last night, grouped by part of the day. What he chose to do on his own links to its journal entry.
  • Your conversations.
Today: what needs you, with the action on each card, and what he did. (Invented data from the repository's UX harness.)

A send is never a keyboard shortcut: it goes out from your number, so it is always a deliberate tap, and the card says “Sent” only when the message was delivered.

Chat

  • The work rail. Above each answer, one timeline of what he did to get there, live: memory searches, each reasoning step by its heading, every tool call in plain words (“Opened example.com”, “Searched memory for …”, “Texted Parker”), code and its output, plans. When the answer starts, it folds into a receipt (“Thought for 14s · searched memory · opened 2 pages”), and a tap reopens it. His thinking and tool use are always visible; that is a design rule, not a debug option.
  • Yours and Edward’s. The sidebar keeps your conversations apart from Edward’s own threads: his journal entries (led by what he did on his own), message threads he read, scheduled events.
  • Drafts and attachments stay with their thread; what you type while he is answering waits in a queue, and Stop halts the turn in flight.
  • Links: /chat?c=<id> is a conversation, ?prompt= fills the composer without sending, ?voice=1 opens live voice.
The work rail: every step he took, including the one that failed.

Voice

With ELEVENLABS_API_KEY (and ELEVENLABS_VOICE_ID for the voice he speaks in) and the Voice skill on:

  • Voice memos: the mic button records a memo, posted as a playable attachment with its transcript, or transcribed into the text box.
  • Live voice: a hands-free (or hold-to-talk) conversation. Edward streams captions as you speak, answers out loud, says a short bridge line when he needs a moment, and stops when you talk over him. A long task hands off (“I’ll keep working on that”) and carries on in the background.
  • Mic sensitivity has three levels; the default gates out the room’s background noise, such as a TV.

Spoken turns use the voice route (Sonnet 5.5 at low effort) for a fast first word. Audio goes to ElevenLabs for speech to text and back.

The Edward tab

What he knows, watches and does. It opens on “Edward now”: him, his status and the start of his own state page, then five rooms:

RoomWhat is in it
MindHis thoughts and wakes, the journal, the model, skills, MCP servers
MemoryMemories (with where each came from), documents, files, databases, and Dreaming: how he tidies his memory, and any “Which is right?” question
AttentionListening (messages and mail), notifications, proactivity, Gmail, Alexa
WorkEvents and reminders, workers, his wishlist, usage (the day’s spend)
HouseLocale (your time zone), the hub’s photos
The Edward tab: what he knows, watches and does, and the five rooms.

Every status line comes from a real signal. Edward’s animation makes the same promise: he looks busy only when something is running.

Push notifications

  • Web Push to the devices where you allowed it, once you set VAPID keys and turn on the Push Notifications skill.
  • Everything Edward sends on his own goes through one door: quiet hours (22:00–07:00 by default) hold it until morning, except a late pet dose or travel closing within three hours; he follows up once, never twice; and nothing secret goes on your lock screen.
  • Every push is logged with where its tap leads, and the tap goes there.
  • Notes that can wait land on Today instead of buzzing your phone.

A menu-bar companion

companion/EdwardBar puts Edward in the menu bar of any Mac you use. It tells him you are at that Mac and whether you are active, idle or away (never what is on your screen; sharing the frontmost app’s name is off by default), and opens the chat. Build notes are in its README.