Local-first computer history

Remembereverything.

AfterRay records your screen and audio all day — so you and your agent can find anything you saw or heard.

  • macOS 15+
  • Exclude apps and sites
  • Pause or delete anytime
  • Nothing leaves this Mac
Zoom12:36 PM
ALJWCY+2
design review — recording
Recording
Safari · 49mZoom · 1h 37mGitHub · 1h 5mXcode · 1h 10m
12:36 PM · Friday, Aug 14
Drag to zoom · Swipe to travel · Esc to close

⇧⌘Space from any app. Drag the timeline back to any moment.

One command,
any agent.

Install the skill once. Claude Code, Codex, and anything else that reads Agent Skills can then query your history — no MCP server, no credentials.

Drops into the agents you already use

Claude Code · Codex · Hermes · Cursor

The assistant inside AfterRay is caged.

It reads your vault and answers, and it has no second mode. No HTTP client, because the crate the loop lives in depends on nothing that could make a request. No shell and no filesystem, because a build rule fails if a tool so much as names them.

Three dependencies and one build rule. Both are readable in a minute.

Point it at a local model and none of this leaves the Mac. Point it at a cloud endpoint and the prompt goes there — that is what choosing one means.

$ npx skills add loro-dev/afterray -g
installed afterray → Claude Code, Codex, Hermes
$ afterray search "keeping favorites" --limit 1
[ { "source": "transcript", "time": "Wed 11:02 AM",
    "text": "favorites never expire…" } ]

Read-only. The vault key never leaves the daemon.

Pick up where you dropped it

Ask it to finish the migration you left half-done on Tuesday. It can see which files you touched, and when.

Answer from what happened

“What did we decide about retention?” comes back with the moment it came from, not a guess.

Draft from what you did

The standup note, the PR description, the handoff — written from the week, not from memory.

You did a lot today.
Here's what it was.

AfterRay writes your day back to you in half-hour slots. The model runs here, and it is told never to invent a file, a URL, or a task it did not see.

  • Written as you go, without being asked
  • Every line opens to the moment behind it
MemoriesFriday, Aug 14
9:00–9:30

Traced the agent loop in afterrayd, then started a note on retention.

Xcode · Notes
10:30–11:00

Read hot-stills-cold-gop.md and compared HEIF against the JPEG decode path.

Safari · Xcode
2:00–2:30 PM

Closed out the disk chapter of the v1 spec.

Notes · GitHub
3:30–4:00 PM

Debugged the GOP encoder memory spike on a call, then filed PR #128.

Zoom · GitHub
Try one
You half-remember
It finds
HeardZoom · Wed 11:02 AM

favorites never expire — everything else stays bounded

On screenGitHub · Wed 3:15 PM

PR #128 — the storage budget applies to unstarred moments only

Or just ask

Anything you star is exempt and never expires. Everything else lives inside the storage budget you set.

Zoom · Wed 11:02 AMGitHub · Wed 3:15 PM

Half-remember it.
Find it exactly.

Forget the filename and the app. A half-remembered phrase is enough — or just ask.

  • Joint search across OCR text and transcripts
  • Semantic search: by meaning, not just keywords
  • Ask answers with citations to the original moments

0 bytes
leave your Mac.

Captured locally

Screen, system audio, microphone, and Accessibility semantics are written to an encrypted vault on your Mac.

Indexed locally

OCR, speech recognition, and semantic embeddings run on-device. Raw content and vectors never leave it.

Modeled locally

Summaries and answers come from a model running on your machine — a bundled MLX pack or your own Ollama.

Encrypted at rest

SQLCipher + XChaCha20-Poly1305 encrypt every record. The key lives in the macOS Keychain.

Capture
OCR / ASR
Embedding
Encrypted Vault
Local LLM
Recall
PlatformmacOS 15+ · Apple Silicon (M3 recommended)
StorageSQLCipher + XChaCha20-Poly1305, key in the Keychain
On diskOlder captures repack to closed-GOP AV1 — 7–10% of the original JPEG
RetentionA storage budget you set, 100 GB by default — oldest unstarred go first, favorites never expire
ModelsOn-device ASR, embeddings, and LLM — or your own Ollama or OpenAI-compatible endpoint
UploadNo account, no telemetry, no cloud sync — nothing leaves unless you point it at a remote model

Give your Mac
a memory that never forgets.

© 2026