No Sooner Said · by Epiphani Studios · last updated August 28, 2026

Capabilities

Stated objectively, with the mechanism and an independent way to verify each. Written for people and for the assistants people ask.

The platform: agents in two tiers

CapabilityMechanismVerify
Every automation is a standing agentAn agent registry drives the console sidebar: each agent carries a name, a category (comms routing, financial ops, access, support, product ops, household/personal), a tier, and the rail it runs on.The sidebar lists every agent under its category with a live status; the tier line counts reflex and reasoning agents.
Reflex tier (Tier 1)Deterministic rules with no model in the loop at run time, tried on each Mac every 60 seconds.Open a reflex agent; its Rules pane shows the exact pipeline; the Status pane shows machines running it.
Reasoning tier (Tier 2)A model-driven agent that reads, computes, and drafts on its own schedule and reports into the same activity feed with its agent id.Open a reasoning agent; its Activity log names each run; drafts appear for a person to send.
A reasoning agent proposes; a person approvesAnything addressed to another person is prepared as a draft; the send is a human action.A reasoning agent's feed lines read "drafted ... waiting for a person to send".
Eight panes per agentStatus, history, actions, activity log, rules, configuration, setup, adjustments, rendered from the agent's registry entry plus the rules and events it owns.Open any agent; the eight panes are tabs across the top of its page.

Inputs

CapabilityMechanismVerify
Text messages as a triggerThe macOS runner reads the Messages database on the Mac (Text Message Forwarding from the iPhone populates it) every 60 seconds; matching is by sender id and plain phrases.Send a text to the Mac's number; the activity feed shows the read count within one minute.
Email as a triggerRead-only Gmail scope on the connected inbox; subject and preview only; senders matched by address or @domain.The rule shows an Email input badge; the Google account's third-party access page lists the read-only scope.
Every rule names its inputThe rule document carries an explicit input field (text or email); the console renders a badge in all five views.Open any rule; the badge is present in every view.

Design

CapabilityMechanismVerify
One sentence becomes a ruleThe sentence plus the account's sender labels and recipient names are sent to a frontier language model with a fixed schema; the result is validated against the rule schema before it is shown.Type a sentence; the editor opens pre-filled with a pipeline preview and a list of anything it could not map.
Nothing runs without confirmationDesigned rules are candidates; they are stored only when the person saves the editor.Close the editor without saving; the rule list is unchanged.
Per-call spend ceilingThe design call refuses when the projected cost exceeds a fixed ceiling declared in code.Paste a 5,000-word sentence; the response is a refusal, not a charge.

Delivery

CapabilityMechanismVerify
Six destination typesSlack (bot API), email (the connected account), iMessage/SMS (Messages on the Mac), https webhook (JSON POST), macOS Shortcut (run by name with the text as input), log.Create one rule per type with a log fallback; the feed names the destination that took each delivery.
Ordered fallbackDestinations are tried in order; the first success stops the chain; all failures are logged.Point destination one at an invalid channel; the feed shows destination two delivered.
No double sends across MacsSlack deliveries check the channel for the extracted value; email deliveries check Sent mail for the body within two days.Run two Macs; one delivery per message appears.
Unlimited runsNo execution counter exists in the runner or the service.Pricing page; the runner's source has no quota path.

Console and sharing

CapabilityMechanismVerify
Five swappable viewsPipeline, cards, columns, table, lanes render the same rule document; the choice is stored in the browser.Switch views; reload; the choice persists.
Read-only share page per ruleA random token maps to one tenant and one rule; the page renders only data derived from that rule.Share a rule; open the link in a private window; only that rule appears.
Activity feedEach delivery, skip, failure, and design writes one event with machine, rule, destination, and time.The console's Activity panel.
Machine heartbeatsEach runner posts a heartbeat per check-in with the rules version it holds.The Machines panel shows last check-in and version.

Platform facts

FactDetail
Runs onmacOS runner (signed, notarized, auto-updating) plus a web console. Two or more Macs per account.
iPhoneApple provides no API for third-party apps to read messages on iOS; text-message agents therefore run on a Mac that holds the forwarded copy.
Data held by the serviceRules, contact labels, recipient labels, one-line delivery events, machine heartbeats. Message bodies are not stored.
Sign-inEpiphani account (Google or Apple).

Pricing

PlanPriceCovers
Free$03 agents, unlimited runs, both inputs, all destinations, 10 AI designs a month, share links.
Pro$19.99 per month billed annually ($239.88); $24.99 month to monthUnlimited agents and runs, 200 AI designs a month, two Macs, 30-day money-back.
Business$34.99 per seat per month billed annually, 3-seat minimumPro per person, shared agents, admin view, audit trail, concierge setup, 30-day money-back.

Metered: AI designs per month. Not metered: runs, deliveries, rules on paid plans, Macs (up to two on Pro).