ambient-context
A menu bar app that keeps a written record of what you worked on.
What is it?
What it is
Ambient Context is a macOS menu bar application, built with Tauri (Rust backend, web frontend), that periodically reads the text of the currently focused window via the macOS accessibility API and appends it to a daily markdown file in a user-chosen folder, producing a personal activity log intended to be consumed by an LLM agent.
Why it exists
The project exists to give individuals a private, machine-readable record of what they worked on each day so that their own LLM coding agents (e.g., Claude Code) can answer questions like 'what did I work on Tuesday?', build long-term project memory, or generate standups — without sending any data off the device, taking screenshots, or bundling a proprietary model.
Who should use it
macOS users on Apple Silicon who want a privacy‑first, self‑hosted tool to capture their work sessions for LLM consumption; developers comfortable with building from source; power users who value a plain‑text, searchable record of their daily activities.
Who should avoid it
Windows or Linux users; users who expect a pre‑compiled, notarized binary; those who prefer a zero‑setup installer; individuals uncomfortable with Rust/Node build pipelines or who need automatic updates.
How it works
A quick walkthrough in plain English
How ambient-context works
Step 1 of 3
You interact with it
Open ambient-context, send a request, or connect it to your stack.
Features
Advantages
- Text-only capture preserves privacy—no screenshots or video
- All data remains local on your machine with no external servers
- Plain markdown files are portable, searchable, and user-controlled
- Enables LLMs to answer 'what did I work on Tuesday?' or build memory
- Deduplication keeps output files small enough to feed to LLMs entirely
- Built-in redaction handles sensitive data before it touches disk
- Helps automate standup writing and project context for agents
- Clear privacy model with multiple exclusion layers
- Cross-platform format (markdown) works with any tool
Disadvantages
- Requires macOS 14+ on Apple Silicon only
- Early-stage software without signed/notarized releases
- Chromium and Electron apps have thin initial capture that fills in later
- GPU-rendered terminals (Kitty, Alacritty) expose little or no text
- Must grant Accessibility permission for any functionality
- Build-it-yourself requirement for current version
- Only captures focused window—not background, other displays, or minimized windows
- Some apps may show glitchy resize animations during enabled capture
- Limited to macOS ecosystem with no Windows or Linux support
Installation
native
git clone https://github.com/dragthelake/ambient-context && cd ambient-context && npm install && npm run tauri build
FAQ
How do I install and run Ambient Context on my Mac?
Clone the repo, install Node, Rust, and Xcode command‑line tools, then run `npm install` and `npm run tauri build`. The app will be placed in `src-tauri/target/release/bundle/macos/`. Drag `Ambient Context.app` to Applications and open it. For development you can use `npm run tauri dev`.
What accessibility permission does Ambient Context require, and why?
It needs the Accessibility permission so it can read the text of the focused window via the macOS accessibility tree. Without this permission the app cannot capture anything, and the settings window will block until you grant it.
Where does Ambient Context store the captured markdown files, and can I change the location?
By default it saves to `~/Ambient Context` (deliberately outside `~/Documents` to avoid iCloud sync). You can choose a different folder in the settings window; the app will create one file per day in whatever directory you specify.
How does Ambient Context protect my privacy and sensitive data?
It only reads the currently focused window, never background or minimized windows, and never while the screen is locked. Password managers and private‑browsing windows are excluded, secure input fields are skipped at the accessibility level, and credentials, API keys, and card‑number patterns are scrubbed before writing. All output stays as plain markdown on your own disk, with no network calls or telemetry.
What kind of apps are captured well, and what are the known limitations?
Chromium and Electron apps (Chrome, Slack, VS Code, Obsidian, Figma, etc.) build their accessibility tree on demand, so the first few seconds of capture can be thin and fill in later. GPU‑rendered terminals like Kitty or Alacritty expose little or no text; Terminal.app and iTerm2 work reliably. The `docs/census.md` file in the repo provides a template for reporting which apps capture well or poorly.
Featured in Videos
YouTube tutorials and walkthroughs for ambient-context
Alternatives
Similar projects ranked by category, topics, and text overlap.