loop 01 — gmail → sheets, lead copying
flip it — the automation stops. hours already saved stay counted.
THE WALKTHROUGH · SIMULATED SURFACES · DEMO FIGURES
Eight surfaces, recreated. Install, boundaries, pause, the brief, and the event record mirror the shipped code; reply-1 approval, the dry run, and the hire card are the designed next phase. The figures are illustrative. Click everything.
01 · INSTALL
The install verifies three content-privacy flags in the binary before configuring capture. Pull one and run it — the failure mode is “Workley doesn’t install,” never “Workley installs and records keystrokes.”
the binary's flags — pull one:
$ ./install.sh== workley phase 0 install ==venv OK: Python 3.12screenpipe OK: 0.4.25 (pinned)✓ privacy gate OK: all mandated flags presentloaded com.ethanstrauss.workley.screenpipeloaded com.ethanstrauss.workley.collector$
02 · BOUNDARIES
macOS asks once for screen recording. Then you draw the lines: banking, health, anything you name is dropped at ingestion, and one command pushes the block into capture itself.
~/.workley/blocklist.toml — one entry per line, blocked means dropped before disk
03 · THE QUIET WEEK
No pitches while it learns. Walk the days. If a week turns up nothing, it tells you that instead of inventing work.
WORKFLOW CARDS
collecting — day 1 of 7
no cards yet. the nightly detect run writes them once the observer has a week of data.
04 · PAUSE
Not a flag, not a mute. The capture process is unloaded and its port closes. Verify it yourself while it’s paused.
$ launchctl list | grep workley.screenpipe4123 0 com.ethanstrauss.workley.screenpipe$
05 · THE MONDAY BRIEF
The brief lists what it found and the hours each loop costs you. One approval is the whole interface — in the product, a card’s approve button; here, type 1.
FROM workley (local)TO youDATE mon 2026-07-13 · 07:00SUBJECT weekly brief — 3 loops found · 5h 40m 01 gmail → sheets, lead copying 3h 10m /wk seen 14 times across 21 days. same 6 fields every time. i can take this over. reply 1 and i'll build it, then dry-run it on last tuesday's 12 emails before it goes live. 02 invoice pdf → rename + filing 1h 20m /wk03 monday status doc assembly 1h 10m /wk ────────────────────────────────────────────nothing in this brief left your machine.
illustrative figures — your brief computes from your own runs.
Watch the dry run ↓06 · DRY RUN
Approving a loop executes nothing. Workley builds the automation, then runs it against last week’s captured work — and the diff waits for your review before anything goes live.
$ workley dryrun loop-01 --against 2026-07-07replaying 12 captured emails ............✓ 12 rows appended · 6 fields each · 0 errors · 4m 02s your time, same task, same day: 38m 15snothing executed. nothing sent. review the diff:$ workley diff loop-01
illustrative figures — your brief computes from your own runs.
07 · THE HIRE
Once it’s live, it reports the hours it returned each week, and tells you when the inputs change instead of failing quietly. The kill switch is yours.
flip it — the automation stops. hours already saved stay counted.
illustrative figures — your brief computes from your own runs.
08 · WHAT IT KEEPS
When, which app, which site, which window, how much typing — plus the new screen-text lines, kept on-device for matching, strippable by blocklist, pruned at 30 days. No audio, no clipboard, no keystroke content — the install refuses.
changed screen text stays on-device and is quoted in your receipts. nothing leaves the machine.
DOWNLOAD · MACOS 14+ · APPLE SILICON
No public build yet. A tool holding screen-recording access doesn't ship without a signed, notarized build and a hardened updater, and both are still being built. This page gets a real download the day they land.
signed build coming — get notified.
pre-release · no build is linked yet · the watcher is $0
# the install, once the build is signed:$ curl -fsSL [signed-build-url]/install.sh | sh# not live yet — RELEASE_URL is null in this page's source.$