nocta GitHub Download
local-first · deterministic replay · open-source memory

Turn your screen activity into agent workflows.

What you did becomes a workflow anyone can run. Not a transcript, not a skill - the steps that worked, as code.

any repeated work on your Mac · portals, invoices, CRMs, reports

open source - stars -
nocta · ask
youpull this month's invoices and file them in Notion
noctafound it in your activity - you did this on Aug 28. 24 min, 61 steps, 7 apps.
noctacompiled: 7 billing portals › download each receipt › Notion row + attach. run it?
youyes
nocta✓ 7 invoices filed in 13s · 0 model calls · receipts kept
noctarun it monthly and share it with your team?
youyes
noctanocta://team/monthly-invoices → sent to #finance · scheduled monthly, day 1

One job, compiled from what you already did. The receipt is the proof.

Watch a run

The agent, crossing your apps.

Compiled steps replaying across platforms - no integrations, no prompting, and the model stays asleep.

platform.openai.com/billing

Every run ends the same way: a receipt.illustrative recreation · sped up · real runs keep the same receipts

The problem

You did this last week.
You'll do it again next week.

Repeated work has three taxes, and you pay them every single run.

this weekportal › filter › export › rename
next weekwait - which filter was it?

The same task takes a different path every time. Done by hand it drifts, done by an AI agent it re-discovers - and you steer it through the same corrections again.

by hand45 min, every Tuesday
by agent15k tokens to re-reason it

Every run pays for the discovery again. Your time or the model's tokens - either way, nothing is kept from the run that already worked.

youfigured it out at 9am
teammatestarts from zero at 2pm

What you figured out lives in your head. Or in an SOP nobody reads. Either way, it leaves when you do.

How it works

Watch. Compile. Run.

Nocta sits under how you already work and keeps what worked.

01 · watch

It records your screen, locally

  • Always on, entirely on-device - no "start recording" ceremony to forget
  • Finds the repeatable steps, inputs, and handoffs by itself
  • Pause anytime, exclude any app - you own the recorder
02 · compile

What worked becomes code

  • Your demonstration compiles into explicit, deterministic steps
  • Every workflow declares what it reads and writes before you run it
  • Edit parameters, approvals, and exception paths in plain sight
03 · run

Anyone replays it

  • Runs on the runner's machine, with their own logins
  • 0 model calls on the happy path - the agent wakes only when reality drifts
  • Halt-and-ask on anything unexpected, a receipt for every run
A compiled workflow, in full
# linkedin-invoicing.wf - compiled by Nocta
provenance:  taught from session #118 · Aug 28 · 14 steps · by you
reads:       linkedin.com/billing · notion.so/Invoices
writes:      ~/Downloads/LNKD_INVOICE_*.pdf · notion: +1 row, +1 file

steps:
  1. open   linkedin.com/…/manage/billing
  2. click  row[status=Paid] › "More actions"
  3. click  "Download receipt"        → wait: download
  4. open   notion.so/Invoices
  5. row.add {month: {{month}}}       → attach: invoice.pdf

guarantees:
  replay:  deterministic · 0 model calls on the happy path
  drift:   halt + ask, never guess
  record:  receipt per run (steps · timing · outcome)

Inspectable before it runs. Diffable when it changes. Yours either way.

Why code

Not a transcript. Not a skill.
The steps that worked.

Different containers remember different things. Only one of them runs.

a transcript

remembers what happened

Session replays and chat logs are great archaeology. But you can't run a memory.

  • replayable
  • shareable as work
  • survives UI drift
a skill / prompt

remembers advice

Instructions the model re-interprets every run. Same words in, different path out - and it changes when the model does.

  • deterministic
  • same result twice
  • survives a model change
a nocta workflow

remembers what worked

The successful path, typed as code. A program doesn't drift, doesn't re-reason, doesn't care which model is fashionable.

  • deterministic replay, 0 model calls
  • declared reads & writes
  • survives model changes
  • fails loudly, then asks
Teams

Hand them the workflow.
Keep your logins.

A shared workflow is a link. It replays on your teammate's machine, with their accounts and their permissions - no credential ever travels with it.

And because a workflow is executable, it's also documentation that runs: the new hire doesn't read the SOP, they ask Nocta and click Run. Your procedures stop leaving when people do.

Local-first

Your screen never
leaves your Mac.

A tool that watches your screen has to earn the right to exist. Nocta's answer: recording, memory, and replay all happen on your machine. No cloud inbox of your screenshots, no third-party AI reading your day.

The memory layer is open source - read exactly what leaves your machine: nothing.

activity-frames on GitHub · the paper
Workflows

Start where the repetition hurts

If you've done it twice on your screen, Nocta can probably run it the third time. Click one to watch Nocta run it.

No integrations to set up - if it renders on your screen, it's automatable.

FAQ

Fair questions

Straight answers - a screen recorder should have nothing to hide.

What does Nocta actually record?
Your screen activity, ambiently, entirely on your Mac - that's how it can find repetition you wouldn't think to demonstrate. You can pause it anytime, exclude any app, and wipe any window of time. The recorder's memory layer is open source, so you can audit precisely what's captured.
Where do my recordings and workflows live?
On your machine. Recording, compiled memory, and workflow library are all local - nothing is uploaded to a cloud, and no third-party AI service reads your screen. Sharing a workflow shares the steps, never your data or logins.
How is this different from an AI agent doing my task?
An agent re-reasons your task from scratch every run: slow, token-hungry, and a different path each time. Nocta compiles the path that already worked and replays it deterministically - 0 model calls on the happy path. The agent wakes only at the edges, when something on screen doesn't match.
What happens when a website changes?
The workflow fails loudly and asks - it never guesses and never writes into the wrong field. Fixing it is a five-minute re-demonstration, not a scripting project. A stale workflow tells you it's stale; a stale SOP just lies.
Can I share a workflow without sharing my accounts?
Yes - that's the point of compiling to steps. A shared workflow runs on your teammate's machine with their own sessions and permissions. No passwords, cookies, or API keys ever travel with it.
Do I need to be technical?
No. You teach by doing the task once, normally. Reviewing a workflow reads like a checklist: what it opens, what it clicks, what it writes. If you can do the work, you can automate it.
How do I start, and what does it cost?
Download the Mac app and work normally - Nocta proposes your first workflows from what it observes, or teach one directly in five minutes. It's free during the beta; paid team plans come later.
Get started

Your first workflow is
already on your screen.

You've demonstrated it a dozen times - Nocta just wasn't watching yet.