The system
How the system worksThe DirectoryDispatchThe LedgerAI modelsAI agentsYour installationThe appThe research libraryWhat changes for your businessUse it from your softwareEverything it can do
Messaging
iMessageWhatsApp
Ads and leads
AdsCreativeLeads
Devices
Devices
Industries
RealtorsRestaurantsHome services
Explore
How it worksPermissions and limitsCompareSet upQuestionsText me
GPSarrive · leave
NFCtap a tag
Cameraphoto in
Micvoice note
Batterylevel
Focusmode
Bluetoothnearby
Motiondriving
iOS · Shortcuts
Run Shortcut “Book from text”
Get Calendar events
Send Message
Set Focus
Tell the system: arrived
Maps
Messages
Saw your ad. Can you look at a leak Thursday?
Yes. 10:00 or 2:30?
2:30
Booked. Invite sent.
Safari
yourbusiness.com
logged in as you
Mail · Calendar · Contacts
Bright RoofingInvoice 118 · opened
Dana4:15 works
CalendarThu 2:30 · visit
AI ASSISTANT
Screenscreenshot · read
CameraFaceTime HD
Micrecord
Batterylevel
Wi‑Finetwork
Bluetoothnearby
macOS · Accessibility · AppleScript
button “Approve”text fieldmenu Filewindow TextEdit
Terminal
$ gh issue create --title "Text-back slow"
$ wrangler deploy
$ stripe invoices create --customer …
$ ffmpeg -i ad07.mp4 -vf scale=1080:1920
$ ▍
Browser
business.facebook.com/adsmanager
● logged in as you
Files · Messages · Mail
brief-q4.mdread
ad07.mp4rendered
invoice-118.pdfsent
chat.dbwatched
leads.csv1 row per lead
Cloud servers · the Directory
—actions in the Directory
—ways to run them
—entries in the Ledger
—AI agents
runs when your Mac is off
iPhone · partAvailableSensors and radiosGPS, NFC tags, camera, microphone, battery, Focus mode, Bluetooth. Each change can be sent to the system as an event.POST /api/phone/in {"kind":"arrive","where":"home"}iPhone · partAvailableiOS and ShortcutsRuns any Apple Shortcut, for example when a text arrives. Any app action offered in Shortcuts can be run.{"key":"APPLE_SHORTCUT", "args":"Door Lock"}iPhone · partAvailableMaps and locationWhere the phone is when you arrive or leave a place. Routes and travel times by address.{"key":"GOOGLE_MAPS_ROUTE", "args":"LAX|Santa Monica Pier"}iPhone · partAvailableMessagesYour own number sends and receives iMessages. It reads, searches and replies in your existing conversations.{"key":"IMESSAGE_SEND", "args":"+1…|hello"}iPhone · partAvailableSafari and websitesRuns a script inside a web page you are signed in to. Opens any link.{"key":"APPLE_SAFARI_JS", "args":"document.title"}iPhone · partAvailableMail · Calendar · ContactsSearches mail, books only into hours you marked as open, and looks up who a contact is.{"key":"APPLE_MAIL", "args":"invoice"}iPhone · partAvailableAI assistantAn AI model that reads and replies to messages on your number, following the permissions you set.sms: +1 (415) 548-0666 "Hi. About my business."Mac · partAvailableScreen and sensorsTakes a screenshot and reads the text in it. Records audio. Checks the battery and the network.{"key":"LOCAL_SCREENSHOT", "args":""}Mac · partAvailablemacOS · AccessibilitySees every button and field on the screen. Clicks and types in any app, and runs scripts.{"key":"LOCAL_UI_CLICK", "args":"Save|button|TextEdit"}Mac · partAvailableTerminalEvery command-line program on the Mac can be run as an action, and each run is recorded.{"key":"LOCAL_EXEC", "args":"ffmpeg -i ad07.mp4 …"}Mac · partAvailableBrowserChrome or Safari, signed in to your own accounts. It fills in forms, clicks and takes screenshots.{"key":"BROWSER_PLAYWRIGHT", "args":"screenshot https://…"}Mac · partAvailableFiles · Messages · MailReads, writes and searches the folders you choose. Watches Messages on the Mac for new texts.{"key":"LOCAL_READ", "args":"brief-q4.md"}Mac · partAvailableCloud servers · the DirectoryServers that run when your Mac is off. They hold the Directory, the one address that runs it, and the Ledger.POST /api/dispatch {"key":"<any action in the Directory>", "args":…}iPhone · partAvailableSensors and radiosGPS, NFC tags, camera, microphone, battery, Focus mode, Bluetooth. Each change can be sent to the system as an event.POST /api/phone/in {"kind":"arrive","where":"home"}iPhone · partAvailableiOS and ShortcutsRuns any Apple Shortcut, for example when a text arrives. Any app action offered in Shortcuts can be run.{"key":"APPLE_SHORTCUT", "args":"Door Lock"}iPhone · partAvailableMaps and locationWhere the phone is when you arrive or leave a place. Routes and travel times by address.{"key":"GOOGLE_MAPS_ROUTE", "args":"LAX|Santa Monica Pier"}iPhone · partAvailableMessagesYour own number sends and receives iMessages. It reads, searches and replies in your existing conversations.{"key":"IMESSAGE_SEND", "args":"+1…|hello"}iPhone · partAvailableSafari and websitesRuns a script inside a web page you are signed in to. Opens any link.{"key":"APPLE_SAFARI_JS", "args":"document.title"}iPhone · partAvailableMail · Calendar · ContactsSearches mail, books only into hours you marked as open, and looks up who a contact is.{"key":"APPLE_MAIL", "args":"invoice"}iPhone · partAvailableAI assistantAn AI model that reads and replies to messages on your number, following the permissions you set.sms: +1 (415) 548-0666 "Hi. About my business."Mac · partAvailableScreen and sensorsTakes a screenshot and reads the text in it. Records audio. Checks the battery and the network.{"key":"LOCAL_SCREENSHOT", "args":""}Mac · partAvailablemacOS · AccessibilitySees every button and field on the screen. Clicks and types in any app, and runs scripts.{"key":"LOCAL_UI_CLICK", "args":"Save|button|TextEdit"}Mac · partAvailableTerminalEvery command-line program on the Mac can be run as an action, and each run is recorded.{"key":"LOCAL_EXEC", "args":"ffmpeg -i ad07.mp4 …"}Mac · partAvailableBrowserChrome or Safari, signed in to your own accounts. It fills in forms, clicks and takes screenshots.{"key":"BROWSER_PLAYWRIGHT", "args":"screenshot https://…"}Mac · partAvailableFiles · Messages · MailReads, writes and searches the folders you choose. Watches Messages on the Mac for new texts.{"key":"LOCAL_READ", "args":"brief-q4.md"}Mac · partAvailableCloud servers · the DirectoryServers that run when your Mac is off. They hold the Directory, the one address that runs it, and the Ledger.POST /api/dispatch {"key":"<any action in the Directory>", "args":…}
The number you already advertise

A missed call gets a text back from your number within a minute, and the job is booked.

It quotes only prices you approved and books only into hours you opened. It is built to be auditable and explainable, so it can be trusted with real customers and money: every action is recorded with its source, and when it is unsure it hands the conversation back to you.

The parts of your iPhone and Mac the system can control

On the iPhone: sensors, Shortcuts, Maps, Messages, Safari and Mail. On the Mac: the screen, the apps, Terminal, the browser and files. Plus servers in the cloud.

Each thing it can do is one row in a table

That table, the Directory, lists all — actions it can run. Every run is recorded.

Tap any part to read more

Tap a part to see what it does there.

Scroll
Explain it for

How the system works

Four parts, and what each one is for

Everything it can do is listed in one table, so you can read any of it and switch it off. Every run, including refusals, is recorded.

Live, read from this site just now

The Directory Registered actions; availability varies

A table with one row for each registered action.

Each row is one thing it can do for you: text from your number, book a slot, create an ad, read a web page. If it is not in the table, it cannot happen.

Each row stores everything needed to run that action: where it runs, what inputs it needs, what it returns, and every way to call it. Changing a setting is typing in a cell. Files added to the system’s folder are added to the table automatically.

One row per action. Each row has one column per way of calling it, and each of those cells holds the complete request (method, address, headers and body) that runs it, followed by the full response from the last run.

—actions in the Directory right now
Send an iMessage from your business numberIMESSAGE_SENDin the Directory
Book an appointment in hours you marked as openGOOGLE_CALENDAR_CREATEin the Directory
Create a Meta ad, paused until you approve itMETA_ADS_AD_CREATEin the Directory
Read a website that needs your loginBROWSER_USEin the Directory
Add a report row to a Google SheetGOOGLE_SHEETS_APPENDin the Directory
and — more actions
More on the directory

Dispatch One address that runs any action

One web address runs any action in the Directory.

Your staff, a spreadsheet, a Shortcut or an AI model all send requests to the same address. It checks your permissions, runs the action and records the result.

Because every request goes through the same address, the same permissions apply whether a request comes from a text message, a link, a spreadsheet cell, a Shortcut, the command line or an AI model, and every request is recorded the same way. One action can be switched off in one place.

Every action is invoked as an HTTP POST of {"key": "<action name>", "args": {…}}. REST, MCP, spreadsheet formulas, text tags and webhooks are different ways of making that same request. Actions run on Cloudflare servers, a Mac, an iPhone, a browser, a virtual machine or a phone.

—ways to send a request to dispatch
REST (curl)REST, named arguments (curl)Link (one URL)MCP over HTTP (JSON-RPC)MCP client (Claude Code)misc CLIconsole-app CLIOne line of textTag ([KEY][/KEY])Apple ShortcutWebhookUpstream (straight to the service)Command line (Mac)This system: REST (/api/run)This system’s MCP server (/mcp)OIP (POST /api/dispatch, the dispatch address)OIP dry run (the call written out, never sent)Link with a token (this tool only, no key)Web GET for a browser model (/web/run)The tool’s own address (/s/TOOL, with a token)Function call (a model’s tool call, as it wrote it)JavaScript (fetch)Python (requests)

However the request is sent, it runs the same action with the same permissions.

{"key":"IMESSAGE_SEND","args":{…}} the same action, whichever way it is sent
More on dispatch

The Ledger A record of every request and response

A table with one row for every request and response the system has handled.

Every message, action, AI answer and refusal is recorded and never overwritten. To see what happened, you read it.

Each entry stores the full request and the full response. A later change to any entry shows up. Refusals are recorded like completed requests.

Every payload in or out is a Ledger row. Each action appends one row containing a SHA-256 hash of the previous row; nothing is updated in place. An action counts as working only when the declared surface itself ran and five things are stored for that run: why it ran, the exact request written before it ran, the confirmation, the exact response, and the record.

—entries in the Ledger right now

— AI models in the record · — different actions used

109:14 · message received · “Can you come Thursday?”162cf5bba55772a2… ← start
209:14 · reply sent · booked Thu 2:30 · limit: one appointmentdcdf54c19f363b04… ← 162cf5bb…
309:15 · refused · “refund everyone” · no permission for this37e0f2c3037d7daa… ← dcdf54c1…
409:16 · invoice sent in the conversation · limit: up to $500cc5020fa39b08258… ← 37e0f2c3…
Every entry matches its fingerprint.

An illustration: the four entries are made up. The fingerprints are real SHA-256 hashes, calculated in your browser, each from its entry plus the fingerprint of the entry before it.

More on the ledger

Where actions run The computers that do the work

Actions run on real computers and phones.

Actions run on always-on cloud servers, your Mac, your iPhone, a browser signed in to your accounts, or rented Android phones.

A website or app with no way to connect to it can be recorded once — the steps a person clicks — and saved as a new action in the Directory that can be run again at any time. The browser uses your own signed-in sessions, not fake accounts.

Executors: Cloudflare Workers and containers, a Mac bridge program, iPhone Shortcuts and App Intents, persistent browser profiles, cloud Android phones and Mac virtual machines. Recording steps and compiling them turns any website into a Directory row callable through dispatch.

146actions that run on these computers
Cloudflare serversrun when your Mac is off
Your Macthrough a small program on it
Your iPhonethrough Apple Shortcuts
A web browsersigned in to your accounts
Android phones in a data centrerented, for apps that only run on a phone
1Record the steps once2They are saved as a new action3It runs through the same address

A website with no way to connect to it can be recorded once and run again whenever needed.

record → compile → replay: any website or app becomes a Directory row, run through the same dispatch address
More on where actions run

Why it matters

What one address and one record save you

Instead of a separate connection for the phone system, the calendar, the ad account and each AI model, every action goes through one address and one record.

Dispatch

One web address runs every action

It checks permissions, runs the action on the right computer, returns the result and records it.

  • One connection instead of a separate integration for every tool.
  • Your staff, your AI models, your spreadsheets and your phone all use the same actions, with the same permissions.
  • Switching to another AI model or vendor does not mean rebuilding anything: the actions stay the same.
  • One place to switch an action off, for everyone at once.
  • Every action is recorded the same way, whoever or whatever asked for it.

— ways to send it a request · — actions it can run

POST /api/dispatch {"key":"IMESSAGE_SEND","args":{…}} → the result, and its Ledger entry How dispatch works

The Ledger

One permanent record of every request and result

Every request and response, in order and in full, including refusals. An entry changed afterwards can be detected.

  • See exactly what was sent, to whom, when, and by which AI model.
  • Settle a dispute with the record instead of with memory.
  • Check what an AI model did before trusting it with more.
  • Compare AI models on cost and results, from the record.
  • Nothing is changed silently: an edited entry no longer matches its fingerprint.
  • Refusals are visible: a request outside the permissions is refused, and the refusal gets its own entry.

— entries so far · — AI models in the record

How the Ledger works
Use it from your own software: API, command line, MCP, spreadsheets, Shortcuts Each is a way to send a request to the same address, with the same permissions and the same record: an API for your programs, the command line, MCP for AI apps such as Claude and ChatGPT, a spreadsheet formula, or an Apple Shortcut.

Example

What happens after one missed call

At 2:18 PM a caller from a heating and air company’s Meta ad gets no answer; the owner is on a roof. A minute later the caller gets a text from the company’s number, and the job is booked for 4:30. Each step, in order.

  1. 2:18 PMMissed call from someone who saw the ad
  2. 2:19 PMA text to the caller from the company’s own number
  3. 4:30 PMJob booked with Tom, the technician

An illustration. The business and the people are made up.

1 / 10Monday 7:30 AMPermissions and limits
A
ABC Home ServicesSponsored · Meta
AC not blowing cold?

Call us. If we are on a job, you get a text back from our own number within a minute.

Heating & airSame-day diagnosticsCall now
Ad set · PausedRunninggoThe owner · Mon 7:30 AM
limit: paused until the owner approves
Tuesday2:18
MobileA new callerringing · the owner is on a roof
Missed callA new caller · from the Meta ad
A text message
A web link
A spreadsheet cell
An iPhone Shortcut
A typed command
An AI’s tool call
A webhook
Dispatchone web address for every action
looks it up:which action is this?

Each action can be run — ways. All of them arrive here.

The Directory— actions in it
action · runs on · inputs · returnsways
Send a text from your number— ways
Book an appointment in open hours— ways
Create an ad, paused— ways
Send a Stripe invoice by text— ways
Ask for a review; under 4 stars goes to you— ways
Read a website that needs your login— ways
Text back a missed call, from your number— ways
Find businesses on the map— ways
Unlock a smart lock for 20 minutes— ways
Add the day’s row to the report— ways

…and — more actions

Checked before anything is sent

Approved pricesquotes only the owner’s price list
Open hourstoday 4:30 · tomorrow 8–10
Who it may reply tocustomers and new leads
Where it may writeMessages, this number only
Allowed · approved prices only
Would be refused and recorded: a price that is not on the approved list.
AABC Home ServicesiMessage · your number
2:18 PM · missed call from a Meta adHi, thanks for calling ABC Home Services. Sorry we missed you, we're on a job. What do you need?AC stopped blowing cold. How soon can someone come?That's usually a quick diagnostic. I have today 4:30 or tomorrow 8–10. Which suits?4:30 todayBooked. Tom's confirmed for 4:30 and you'll get a text when he's 20 minutes out.Delivered · Read 2:19 PM

Which computer sends it:

A device we run, signed in to your number
Cloudflare servers
Your Mac
Your iPhone
A browser signed in to your accounts
Android phones in a data centre
TODAY4:30 PMAC diagnostic
Tom · ABC Home Services

invite sent · open hours only

The Ledger · this jobfingerprints match
ad started after the owner’s “go”e74967
missed call · came in as a webhook3c8e2b
action chosen · text back a missed call0d258b
permissions checked · prices, hours, who43aa71
text sent from your number · delivered948da1
reply received from the caller10b2ae
booked today 4:30 · invite sent05924f
report row updated · Tuesday3afb21

The real Ledger: — entries so far.

Report · ABC Home ServicesDaily
D3Booked, Tuesday · from the Ledger
DayMissed callsTexted backBooked
Mon332
Tue221
Wed–––
Thu–––
Fri–––
One row per day, in a spreadsheet the owner owns.Nobody typed a number into it.

Ledger

EventsAI repliesChangesTasks
Booked today 4:30 · AC diagnostic · Tom
Text sent from your number · delivered
Permissions checked · prices, hours, who
Missed call · from the Meta ad
Booked · today 4:30 PMAC diagnostic · Tom · from the missed call at 2:18
Explain it for
  1. 1Monday 7:30 AMPermissions and limits

    The ad starts running after the owner approves it

    On Friday, 36 ad images were made from one brief and uploaded to the Meta ad account, paused. Nothing was spent until the owner texted go on Monday morning. Now the ad is running.

    Permissions and limitsWhat each action is allowed to doFor youFor your teamFor your developer

    You set what the assistant may read, what it may do and whom it may answer. A refund can be capped at $500 for one customer for ten minutes. Ads start paused. When asked, it says it is an AI assistant.

    Each action carries its limits: an amount, a time window, a channel, an account. A request outside them is refused, and the refusal is written to the Ledger like any other entry.

    A scoped permission is issued for one task, with a limit and an expiry, and stops working when the task is done. With no permission, nothing runs; the refusal is a Ledger row.

    Permissions and limits, explained
  2. Someone calls from the ad, and nobody answers

    The owner is on a roof and cannot pick up. Most callers do not leave a voicemail; they call the next company.

    Where actions runThe computers that do the workFor youFor your teamFor your developer

    Actions run on always-on cloud servers, your Mac, your iPhone, a browser signed in to your accounts, or rented Android phones.

    A website or app with no way to connect to it can be recorded once — the steps a person clicks — and saved as a new action in the Directory that can be run again at any time. The browser uses your own signed-in sessions, not fake accounts.

    Executors: Cloudflare Workers and containers, a Mac bridge program, iPhone Shortcuts and App Intents, persistent browser profiles, cloud Android phones and Mac virtual machines. Recording steps and compiling them turns any website into a Directory row callable through dispatch.

    Where actions run, explained
  3. 32:18 PMDispatch

    The missed call is sent to the system’s one web address

    The phone service reports the missed call to the system’s one address, the same address a text or a Shortcut uses.

    DispatchOne address that runs any actionFor youFor your teamFor your developer

    Your staff, a spreadsheet, a Shortcut or an AI model all send requests to the same address. It checks your permissions, runs the action and records the result.

    Because every request goes through the same address, the same permissions apply whether a request comes from a text message, a link, a spreadsheet cell, a Shortcut, the command line or an AI model, and every request is recorded the same way. One action can be switched off in one place.

    Every action is invoked as an HTTP POST of {"key": "<action name>", "args": {…}}. REST, MCP, spreadsheet formulas, text tags and webhooks are different ways of making that same request. Actions run on Cloudflare servers, a Mac, an iPhone, a browser, a virtual machine or a phone.

    The webhook is one way in. A text, a spreadsheet cell and an AI model’s tool call are others; each becomes the same request:

    { key, args }
    Dispatch, explained
  4. The Directory has an action for a missed call

    Registered actions; availability varies is one row in a table called the Directory. Text back a missed call, from your number is one of those rows. If there were no row for it, nothing would happen.

    The DirectoryRegistered actions; availability variesFor youFor your teamFor your developer

    Each row is one thing it can do for you: text from your number, book a slot, create an ad, read a web page. If it is not in the table, it cannot happen.

    Each row stores everything needed to run that action: where it runs, what inputs it needs, what it returns, and every way to call it. Changing a setting is typing in a cell. Files added to the system’s folder are added to the table automatically.

    One row per action. Each row has one column per way of calling it, and each of those cells holds the complete request (method, address, headers and body) that runs it, followed by the full response from the last run.

    The Directory right now: — actions, and each can be run — ways. Live

    The Directory, explained
  5. The permissions are checked before anything is sent

    The reply may quote only approved prices, offer only open hours (today 4:30 or tomorrow 8–10) and go only to customers and new leads. This one passes.

    Permissions and limitsWhat each action is allowed to doFor youFor your teamFor your developer

    Anything outside those limits is refused, and the refusal is recorded.

    The limits for this job: read Messages on this number only; approved prices only; book only into open hours. Anything outside them is refused and recorded in the Ledger.

    The action runs with a permission issued for this one task: this number, these hours, this price list. It expires when the task is done. Without a permission nothing runs, and the refusal is recorded like any other Ledger entry.

    Permissions and limits, explained
  6. A text goes to the caller from the company’s own number

    Hi, thanks for calling ABC Home Services. Sorry we missed you, we're on a job. What do you need? It arrives as an iMessage from the company’s own number, one minute after the missed call.

    Where actions runThe computers that do the workFor youFor your teamFor your developer

    It appears in the conversation the caller already has with you. Your own phone is not touched.

    iPhones receive it as iMessage (blue bubbles); other phones receive RCS or SMS. The Ledger entry records which one was used.

    One action, one request. The same request can be sent from a link, a spreadsheet cell or an AI model’s tool call, and it writes the same Ledger entry:

    { "key": "IMSG_SEND",
      "args": ["the caller’s number", "Hi, thanks for calling…", "auto"] }
    Where actions run, explained
  7. 72:21 PMDispatch

    The caller picks 4:30, and the job goes in the calendar

    AC stopped blowing cold. How soon can someone come? The AI assistant offers today at 4:30 or tomorrow 8–10, the hours the owner marked as open. 4:30 today Tom, the technician, is booked, and the customer will get a text when he is 20 minutes away.

    DispatchOne address that runs any actionFor youFor your teamFor your developer

    The calendar accepts only hours you marked as open.

    Reading the reply, offering times, writing the calendar entry and sending the confirmation are separate actions. Each one is checked against the permissions and each one is recorded.

    Each is its own { key, args } request through the same dispatch address. The calendar write carries its limit: open hours only.

    Dispatch, explained
  8. 82:21 PMThe Ledger

    Each step was written to the Ledger

    The missed call, the permission check, the text, the reply and the booking are each recorded, in order. A later change to any entry can be detected.

    The LedgerA record of every request and responseFor youFor your teamFor your developer

    Every message, action, AI answer and refusal is recorded and never overwritten. To see what happened, you read it.

    Each entry stores the full request and the full response. A later change to any entry shows up. Refusals are recorded like completed requests.

    Every payload in or out is a Ledger row. Each action appends one row containing a SHA-256 hash of the previous row; nothing is updated in place. An action counts as working only when the declared surface itself ran and five things are stored for that run: why it ran, the exact request written before it ran, the confirmation, the exact response, and the record.

    The Ledger right now: — entries, from — AI models. Live

    The Ledger, explained
  9. The daily report updates itself

    A spreadsheet you own, one row per day: missed calls, calls texted back, jobs booked.

    The DirectoryRegistered actions; availability variesFor youFor your teamFor your developer

    Nobody types into it. It fills in from the record.

    Reports are spreadsheet cells, one row per day, not screenshots. The spreadsheet is yours; if you stop using the system, it stays with you.

    Each day’s row is recalculated from that day’s Ledger entries. The spreadsheet is one more way to read the same records; nothing in it is typed by hand.

    The Directory, explained
  10. 102:21 PMThe app

    The owner sees the booking on their iPhone

    In the Console app on the owner’s iPhone: Booked · today 4:30 · AC diagnostic · Tom. Opening it shows every step from the missed call to the booking.

    The appThe Console, for iPhone, iPad and MacFor youFor your teamFor your developer

    The Console app on iPhone, iPad and Mac shows every action, the record and your AI agents, and lets you message them.

    The Ledger opens in tabs: conversations, sessions, changes, events, tasks, traffic, AI models, actions and analysis. Every entry opens to its full content.

    The app is a view of the same data: the Directory, the Ledger, the connected agents and the terminals. It reads the system; it does not keep a separate copy.

    The app, explained

Browser and cloud computers

What the system does in a web browser and on computers in the cloud

In a browser signed in to your accounts it reads pages, fills in forms and follows recorded steps, with a screenshot of each step. In the cloud it runs jobs while your Mac is off.

146 actions in the Directory run on these computers

Every device, and what the system does on it

Devices

What the system does on each part of each device

The iPhone page

Part 01 · iPhone

Sensors and radios

GPS, NFC tags, camera, microphone, battery, Focus mode, Bluetooth and motion. A change, such as arriving at a job, can start an action.

What the system does here

  • You arrive at the shop: the door unlocks and the lights come on.
  • You tap an NFC tag in the van: the day’s jobs load and the AI assistant switches to work replies.
  • You record a voice note: it becomes a transcript, a task and a reply, without you opening an app.
See an example

Part 02 · iPhone

iOS and Shortcuts

Any action an app offers in Shortcuts can run when a text arrives or a condition you set is met.

What the system does here

  • A Shortcut called “Book from text”: a lead texts, the Shortcut finds a free time, books it and replies.
  • Focus mode changes what the AI assistant does: while you drive it answers for you; at work it passes messages to you.
  • Any app action that appears in Shortcuts can become a system action within a day.
See an example

Part 03 · iPhone

Maps and location

Arrivals, departures, routes and travel times. Shared only with the people and at the times you set.

What the system does here

  • A customer asking whether you are close gets a true answer, because location is shared with that customer.
  • A quote request from a lead arrives with the driving time to their address already worked out.
  • When you leave the last job, the next customer gets “20 minutes away” from your number.
See an example

Part 04 · iPhone

Messages

Your own number sends and receives iMessages in the conversations people already have with you, with permissions set per person.

What the system does here

  • Missed call at 2:18, text from your number at 2:19, job booked at 2:21.
  • A customer asks about Thursday; the assistant checks your calendar and books the slot.
  • Every price it quotes is one you approved. When a message needs you, it passes the conversation to you straight away.
See an example

Part 05 · iPhone

Safari and websites

Reads and acts on web pages you are already signed in to, using your own session.

What the system does here

  • Checks a supplier’s stock page every morning and texts you only when it changes.
  • Copies a number from a website that has no API (no way for programs to connect to it) into a spreadsheet cell.
  • Opens a booking, reads it and confirms it, from one message.
See an example

Part 06 · iPhone

Mail · Calendar · Contacts

Searches your mail, books only into open hours and matches people to your contacts, in the apps you already use.

What the system does here

  • You know invoice 118 was opened at 8:41, because the system read the notification email.
  • Move the 3 pm meeting to 4:15 and the other person gets a text about it, in your words.
  • A new lead is matched to a contact you already have, so nothing is typed twice.
See an example

Part 07 · iPhone

AI assistant

Reads and replies to messages on your number, using only what you switched on and answering only the people you listed. When it cannot help, it says which permission is off.

What the system does here

  • Replies to leads and customers on your number, in your words.
  • Answers your own questions by text about your calendar, bookings and messages, so you do not open each app.
  • Every action it takes is written to the Ledger, where you can read it.
See an example

Actions by device

Every one of these actions runs through the same web address

146

actions for these devices, in four groups.

iPhone

  • Shortcuts run from a text
  • Apps launched, restarted, listed
  • Camera, voice notes, location, share sheet in
  • An approval asked on the phone
The iPhone page

Mac

  • Screenshot and read the screen
  • Click and type in any app
  • Run AppleScript, JavaScript for Automation and the shell
  • Calendar, Contacts, Mail, Notes read in place
  • Clipboard, notifications, files, windows
The Mac page

Browser

  • Your logins, one isolated profile per identity
  • Fill, click, screenshot with a driver
  • An agent given a goal, not a script
  • Fetch, scrape, crawl, PDF, from the cloud
The Browser page

Cloud machine

  • Named workspaces that keep their files
  • Any command, in the cloud
  • Jobs started, watched, cancelled
  • Mac virtual machines cloned and run
  • Real Android phones, on and off by call
  • A permission issued for one job
The Cloud computers page

Ads and leads

From a written brief, to an ad, to a booked appointment

The ad images, the ad and the lead, in order. Each step is recorded.

The briefRoofers, Phoenix. A missed call is a lost job. Texts come from your own number, as iMessage. Four angles: speed, trust, money, relief.from last month’s conversations · 3 reviews · the price list

1Step 1

The brief

A short description of the business and the ad, from last month’s conversations, reviews and price list. The only step a person writes.

{"key":"LOCAL_READ", "args":"brief-q4.md"}

2Step 2

The images

Made by AI image models, nine at a time, in four angles and three sizes. A person picks the best one.

{"key":"OPENAI_IMAGE", "args":"the brief, angle 2"}
Paused
Bright RoofingSponsored
Missed a call today? That was a job. From now on the caller gets a text from your number, and the job can be booked by text.
yourbusiness.comLearn more

3Step 3

The ad

Uploaded to the Meta ad account, paused. No money is spent until you approve it.

{"key":"META_ADS_AD_CREATE", "args":{"status":"PAUSED"}}

Bright Roofing LLC

Owner
Site
Licence
Signal
Score

4Step 4

The lead

The ad, the Google Maps listing, the licence board and the website are combined into one record and scored by fixed rules. No contact lists are bought.

{"key":"LEADS_ENRICH_BATCH", "args":"…"}
iMessage · your number
Hi Dana, saw your crew on the Mesa job. Missed calls after 5 are costing you work; we answer them from your own number in a minute. Worth 15 minutes?
Delivered · Read 2:19 PM

5Step 5

The first message

Written from that record in your words and sent from your own number. Follow-ups go on days 2, 5 and 10, and stop as soon as they reply.

{"key":"LEADS_DRAFT_AI", "args":"…"} {"key":"IMESSAGE_SEND", "args":"…"}
2:30 works
Dana · 41 seconds laterBooked Thu 2:30 · follow-ups stopped

6Step 6

The reply

The reply comes to your number. The AI assistant books the appointment, the follow-ups stop, and the record is updated.

{"key":"GOOGLE_CALENDAR_CREATE", "args":"Thu 2:30|Dana M."}

In the Directory: 15 actions for ad images and video, 51 for ads, 33 for leads.

An illustration. The business and the people are made up.

What it does for your business

All of it. Messaging, Ads and leads, Devices and Industries.

Compare them side by side

iMessage line

Customers text your existing number and get an answer within a minute.

A missed call or a text gets a reply from your own number that quotes only approved prices and books into open hours. You no longer call back or retype bookings.

Meta ads

Meta ads that report what each booked job cost.

Each lead from the ad is answered within a minute. Ads start paused until you approve. Spend, leads and booked jobs arrive as one row per day.

TodayWith AI replies
Spend$6,000
Impressions428,571
Clicks5,143
Leads154
Jobs31
Revenue$37,029

WhatsApp Business

Customers who write on WhatsApp get an answer from your business account.

Meta verification, approved templates and replies handled for you. Used only for people who wrote first.

Creative

Ad images and videos from one brief, sized for each placement.

You write one brief. The images and videos are made, a person picks them, and they are uploaded paused until you approve.

0images · from one brief
speedtrustmoneyrelief
9:164:51:1

Leads & outreach

New sales leads found, filled in and written to first.

Leads from map listings, licence records and websites become one record each. The first message is written from it; follow-ups on day 2, 5 and 10 stop when they reply.

The adtexted in from the Meta ad, 2:18 PM
Google Placesroofers near Phoenix, 4.5★ and up
Licence boardROC 3318 · active · 2009
Website crawlbrightroofing.example · 3 crew · no after-hours line
DDana · Bright RoofingScored · by rule
texted in from the Meta ad, 2:18 PM
roofers near Phoenix, 4.5★ and up
ROC 3318 · active · 2009
brightroofing.example · 3 crew · no after-hours line

Automation on your devices

Work done on your iPhone, Mac, browser and cloud computers, so you do not open the apps.

Ask by text what is booked, who has not replied, or what a supplier’s page says. Each action is listed, permitted and recorded.

Cloud computersWorkspaces · Command line · Coding agentsBrowserSigned-in profiles · Reading a page · Step-by-step controlMacScreen · macOS · TerminaliPhoneSensors · Shortcuts · Messages

For realtors

New sales leads answered first. Past clients brought back to list.

Portal and open-house leads get a reply from your number within a minute and a booked showing. Past clients hear from you on their closing anniversary, so they list with you again.

For restaurants

Catering and large orders captured. Regulars brought back.

A call missed during service gets a text back and a table. Catering and large-order requests are answered and passed to you with the details. Regulars who stop coming get a reason to return.

For home services

Calls answered while you are on the job. Estimates followed up.

A missed call gets a text from your number within a minute and books the job. Estimates are followed up on day 2, 5 and 10, and invoices go out in the customer’s thread.

Quotes · chased day 2, 5, 10

Permissions

You choose what the AI assistant may read, what it may do, and whom it may reply to

Switch items on or off and the example replies change. When it cannot help, it says which permission is off.

Permissions

9 of 20 switched on

What it may read2 of 8 on
What it may do3 of 7 on
Who it may reply to4 of 5 on
Messages
MMotheriMessage
Did you land?
Landed on time. Home by 6.

Location is off, so it says nothing about where you are. Calendar is on, so it knows when you are free.

LA leadiMessage
Saw your ad. How much for a site?
I can’t quote from here, but I can get you a number today. Want 15 minutes tomorrow? I have 10:00 or 2:30.

Approved prices is off, so it refuses to invent a number. Calendar and booking are on, so it offers real slots.

CA customeriMessage
Where is my order?
I’ll check with the team and text you back within the hour.

Store orders is off, so it promises a person, not an answer it does not have.

Right now

It may read Calendar, Messages. It may reply, book, missed call text-back. It replies to family, leads, customers, you.

The conversations are illustrations; the people are made up.

Your setup:

It may read Calendar, Messages. It may reply, book, missed call text-back. It replies to family, leads, customers, you.

9 of 20 switched on

Text this setup

Limits

Every action has a limit, and every run is recorded

Each action gets a permission for that one task: an amount, a time window, one customer. It expires when the task is done.

Each action adds one entry to the Ledger, with a fingerprint (a SHA-256 hash) of the entry before it. Nothing is overwritten.

7 entries, not checked yet

Edit one entry, then check again: the change is detected. The requests are illustrations; the fingerprints are real SHA-256 hashes calculated in your browser.

start aeebad4a
Ledger entry#1

Text back the missed call

  • readMessages, this handle only
  • in your writing style, using only prices you approved

sent from your number

Text sent 52 seconds after the missed call. They replied. Diagnostic booked for 4:30 today.

before aeebad4athis entry 4cdc7072

Ledger entry#2

Send the invoice to Bright Roofing

  • limit≤ $5,000 without you
  • to the thread they already have with you

sent in the thread

Sent by iMessage to Bright Roofing. Opened 41 seconds later.

before 4cdc7072this entry cd3f1bc1

Ledger entry#3

Make 12 ad variants from the brief

  • limit36 renders per run
  • writeMeta, this account
  • limitpaused until you say go

uploaded, paused

36 files in the ad account, 12 ads created paused. No money is spent until you switch them on.

before cd3f1bc1this entry 55086552

Ledger entry#4

Book the 2:30

  • writeCalendar, only hours you opened

invite sent

“2:30 works” becomes a calendar event with the invite sent.

before 55086552this entry b717c014

Ledger entry#5

Refund $184 to the original card

  • limit≤ $500 without you
  • used once

$184 refunded

$184 refunded. Customer told. Under the limit, so it did not wait for you.

before b717c014this entry ef58b2fb

Ledger entry#6

Unlock the door for the cleaner at 10

  • limit20-minute window, weekdays

unlocked, locked at 10:15

Scheduled. Door opens 9:55, locks 10:15, you get a text at both.

before ef58b2fbthis entry 3e2f843c

Ledger entry#7

Refund everyone from last month

  • limit≤ $500 per action, one customer per action

refused · no permission for this

Refused. No permission allows refunding everyone. Nothing ran, and the refusal has its own Ledger entry.

before 3e2f843cthis entry 981c4bdd

Requests outside the permissions are refused and recorded

Without a permission, nothing runs. The refusal gets its own Ledger entry.

  • Refund everyone: refused
  • Text a bought contact list: refused
  • Outside the allowed hours: refused

See every permission and limit

Your business

Pick a type of business to see one week with the system

Each moment of an example week: what happened, what the system did, and what it recorded.

LiveEach moment runs an action from the Directory (— actions) and writes an entry to the Ledger (— entries so far).See every type of business in detail

Home services

A week at ABC Home Services with the system

When you miss a call on a job, the caller gets a text from your business number within a minute and can book a visit. Quotes are followed up, invoices are sent by text, and every action is written to the Ledger.

8moments4parts of the system4offers

An illustration. The business and the people are made up.

Permissions and limitsWhere actions runThe DirectoryThe Ledger

Monday

7:30 AM

Your ads start running only after you reply “go”.

On Friday the system made 36 ad images from one written brief and uploaded them to your Meta ad account, paused. Nothing was spent. This morning you texted “go”, and the ads started.

ad set created paused Fri · started Mon 7:30 AM after your “go” text80123b

Tuesday

2:18 PM

A customer calls while you are on a roof, and you miss it.

Within a minute the AI assistant texts the caller from your business number. They say the air conditioning stopped blowing cold and pick 4:30 today, which is added to your calendar.

missed call 2:18 PM · text sent from your number 2:19 PM · visit booked today 4:304270ff
4:10 PM

Your technician is 20 minutes from the next customer.

When Tom leaves the previous job, the system texts the customer “20 minutes out” from your number, in the conversation they already have with you.

text sent from your number · “20 minutes out” · in the existing conversation4c53f5

Wednesday

9:00 AM

A quote you sent on Monday has had no answer.

The system sends a follow-up on day 2 with something useful about the job. More follow-ups are scheduled for day 5 and day 10, and all of them stop as soon as the customer replies.

quote follow-up · day 2 of 2, 5, 10 · stops when the customer replies6a56be

Thursday

11:30 AM

A finished job is invoiced by text.

The system creates a Stripe invoice and sends the payment link in the customer’s existing conversation with you. Your permissions let invoices up to $5,000 go out without asking you first.

Stripe invoice sent in the conversation · under the $5,000 limit, no approval needed5c4d40

Friday

5:00 PM

After the job, the customer is asked for a review.

The customer gets one text asking how it went. A five-star answer gets your Google review link. This customer gave three stars, so the answer came to you instead and nothing was posted.

review asked · 3 stars · sent to you, not posted to Google229520

Saturday

8:00 AM

The week’s advertising results arrive in a spreadsheet.

The system writes one row per day to a spreadsheet you own: impressions, spend, clicks, leads and booked jobs, so you can see what each booked job cost.

report written · one row per day · cost per booked job95985c

Sunday

6:00 PM

A customer asks for a price that is not on your price list.

Someone texts asking what a new furnace costs. The AI assistant may quote only prices you approved, so it tells them you will reply and passes the question to you. The refusal is written to the Ledger.

refused · price not on the approved list · passed to youdb84cc

The Ledger, live

A table with one row for each registered action.A table with one row for every request and response the system has handled.

—Registered actions in the DirectoryRegistered actions; availability varies
—Entries in the LedgerEvery request and result, counted
Reading current counts…Text meSee what an entry looks like

What a Ledger entry looks like

Every message, change, AI request and refusal, in order. Tap an entry to open it.

See the Ledger page
An illustration of what entries look like, not real entries. The business and the customer are made up.Fingerprints: real SHA-256 hashes, calculated in your browser

Entry 9 of this illustration

Text back the missed call

When
2:22:26 PM
Kind
Done
Action
Missed call text-back
Input
Text back the missed call
Output
Text sent 52 seconds after the missed call. They replied. Diagnostic booked for 4:30 today.
Limits
read: Messages, this handle only
in your writing style, using only prices you approved
Fingerprint of the entry before
d9586cd3678ff533a8792e22…
This entry’s fingerprint
6370fe960fe42ba900113dd8…
Each entry stores the full request and the full response.

Change one entry and its fingerprint no longer matches

A later change to any entry shows up. Refusals are recorded like completed requests.

Try it on seven example entries

Check the fingerprints, then change one limit in one entry from ≤ $5,000 to ≤ $50,000 and check again. The check finds the entry you changed.

7 entries, not checked yet

The seven requests are illustrations. The fingerprints are real SHA-256 hashes calculated in your browser.

start aeebad4a
Entry#1

Text back the missed call

  • readMessages, this handle only
  • in your writing style, using only prices you approved

Text sent 52 seconds after the missed call. They replied. Diagnostic booked for 4:30 today.

sent from your number

before aeebad4athis entry 4cdc7072

Entry#2

Send the invoice to Bright Roofing

  • limit≤ $5,000 without you
  • to the thread they already have with you

Sent by iMessage to Bright Roofing. Opened 41 seconds later.

sent in the thread

before 4cdc7072this entry cd3f1bc1

Entry#3

Make 12 ad variants from the brief

  • limit36 renders per run
  • writeMeta, this account
  • limitpaused until you say go

36 files in the ad account, 12 ads created paused. No money is spent until you switch them on.

uploaded, paused

before cd3f1bc1this entry 55086552

Entry#4

Book the 2:30

  • writeCalendar, only hours you opened

“2:30 works” becomes a calendar event with the invite sent.

invite sent

before 55086552this entry b717c014

Entry#5

Refund $184 to the original card

  • limit≤ $500 without you
  • used once

$184 refunded. Customer told. Under the limit, so it did not wait for you.

$184 refunded

before b717c014this entry ef58b2fb

Entry#6

Unlock the door for the cleaner at 10

  • limit20-minute window, weekdays

Scheduled. Door opens 9:55, locks 10:15, you get a text at both.

unlocked, locked at 10:15

before ef58b2fbthis entry 3e2f843c

Entry#7

Refund everyone from last month

  • limit≤ $500 per action, one customer per action

Refused. No permission allows refunding everyone. Nothing ran, and the refusal has its own Ledger entry.

refused · no permission for this

before 3e2f843cthis entry 981c4bdd

Your visit

What this website received from your browser just now

Your browser sends this information with every request. Nothing was looked up elsewhere and nothing was bought. This site stores one record per visitor, listing every page they opened.

Readinglive

…
GET /api/traffic/self → the request’s own signals, read on Cloudflare’s servers; no lookup, no third party

Try it

Text this number and the AI assistant replies

Text the number below. The AI assistant replies, and both messages are recorded.

Every message to this number, from any messaging app, arrives at the same place and follows the same permissions. The reply is recorded the same way, so the conversation and the Ledger always match.

Inbound messages arrive at one webhook (an automatic message from the messaging service), are matched to a conversation, answered, and appended to the Ledger as events with IDs; the reply gets its own entry. Same dispatch address, same permissions as every other action.

ms+1 (415) 548-0666iMessage · miscsubjects
Hi. I saw miscsubjects.com and I want to talk about my business.
Delivered
Hi. What does your business do, and which part of the week would you hand over first?
Written to the Ledger: two entries, each with an ID

An illustration of the conversation. A text you send writes a real Ledger entry.

Features

Twelve things the system does, each shown as a small animation

Tap a tile to read what it does and what it may use.

Tiles are illustrations. The businesses and people in them are made up.

Research library

Research articles where every claim links to its source, or says it has none

Every earlier version of an article is kept. Anyone can dispute a claim on the page where it appears. AI models can read the same articles as structured data.

—articles
—claims
—sources

Text me about your business

Text the part of your week to hand over first. The reply says what the system would do with it.