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.
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=1opens live voice.
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:
| Room | What is in it |
|---|---|
| Mind | His thoughts and wakes, the journal, the model, skills, MCP servers |
| Memory | Memories (with where each came from), documents, files, databases, and Dreaming: how he tidies his memory, and any “Which is right?” question |
| Attention | Listening (messages and mail), notifications, proactivity, Gmail, Alexa |
| Work | Events and reminders, workers, his wishlist, usage (the day’s spend) |
| House | Locale (your time zone), the hub’s photos |
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.