macOS · Apple Silicon · open source

A focus companion that actually gets context.

Most focus apps block YouTube. Sometimes you really do need that one tutorial.AccountyCat reads what's on your screen, decides whether anything is worth mentioning — and usually does nothing.

Free, MIT licensedNo account requiredWorks offline
SafariFileEditView
100%Wed 9:42
Deep Coding
14:23
Mochi
warm · watching
2 nudges today
youtube tutorial on rust async — this lines up with what you said you're working on.
carry on.
12:08 — switched to Xcode
looks like deep work. won't bug you unless something flips.
⌘K
The problem

Block lists are a blunt instrument.

Sometimes Slack is a distraction. Sometimes it's where the answer is. Sometimes you're on Reddit because you're procrastinating. Sometimes because you're looking up a bash flag. A blocking rule can't tell the difference. AC can.

yo
youtube.com
Rust async — what really happens
the tutorial you bookmarked yesterday
Other apps
Blocked
AccountyCat
Carry on.
re
reddit.com
/r/bash — what does -- actually mean?
you were stuck on a script
Other apps
Blocked
AccountyCat
Carry on.
x.
x.com
scrolling timeline · 22 min
sixth open of the day
Other apps
Blocked
AccountyCat
is this where you wanted to be right now?

Getting interrupted during legitimate work is treated as a bug. The goal isn't maximum restriction — it's staying honest with yourself.

How it works

Three steps. Most of the time, step three is silence.

01

Watches

Every few minutes — or when you switch apps — AC takes a screenshot and notes the active app. Local-only by default. Nothing stored.

02

Decides

An AI evaluates what you're doing against what you said you're working on. It picks the right model — text-only when it can, vision when it needs to.

03

Nudges (rarely)

Most checks end with nothing said. When something is worth mentioning, it's short. Escalation only happens after repeated ignored nudges.

Run it your way

Two modes. Same product. Same privacy story.

Run it fully on-device with no account, or bring your own OpenRouter key. Either way, nothing routes through our servers.

100% on-device

Local

Everything runs locally via llama.cpp using the Qwen multimodal family. No account, no API key, no internet. AC detects your RAM and suggests the right tier automatically.

  • Free, forever
  • Works on a plane
  • Nothing leaves your Mac
  • In-app installer for runtime
TierModelRAM
EconomyQwen 3.5 4B~2–3 GB
DefaultQwen 3.5 9B~5–7 GB
SmartestQwen 3.6 27B~15–18 GB
Bring your own key

OpenRouter

ZDR

Connect your OpenRouter account. AC picks the right model per task — text-only when it can, vision when it needs to. You control the spend.

Zero Data Retention enforced
All requests pass through OpenRouter's ZDR policy. Providers are contractually barred from logging or training on your data.
  • Smarter reasoning, lower latency
  • Direct from your Mac → OpenRouter
  • Typical usage well under a dollar a month
  • One billing dashboard, one integration
TierText · Image/mo
Economy
Nemotron-3 Super
Qwen 3.5 9B
$0.10–0.25
Default
DeepSeek V4 Flash
Gemma 4 31B
$0.20–0.50
Smartest
DeepSeek V4 Flash
Gemini 3 Flash
$0.50–1.00
Coming later · Managed mode

Want it to just work? Flat monthly fee, no key, no setup.

Join the waitlist
Privacy you can verify

Open source, auditable, private by default.

AC asks for Screen Recording and Accessibility — those are serious permissions. So the source is fully open. Read exactly what happens with them. The short answer: screenshots are analyzed and discarded. Nothing is stored permanently. Nothing is sent anywhere you didn't configure.

Discarded, not stored

Screenshots are sent to the model, the result is parsed, then they're gone. No database. No upload bucket.

Read the source

Every code path that touches a permission is on GitHub. Audit it line by line — or just clone and grep.

No telemetry

AC doesn't phone home. There's no analytics SDK. The companion ACInspector logs locally only.

macOS permissions

2 required
Screen Recording
Periodic screenshots for context
Analyzed locally or via your API key, then discarded. Never stored.
Accessibility
Read the active app name
Used only for the nudge decision. Never logged.
Characters

Pick a companion that sounds like you.

Three personalities, each with their own palette. Tap one — the whole UI shifts to match. (Yes, this page does it too.)

Mochi
warm
youtube on rust async — sounds about right. carry on.
Managed mode · waitlist

Want it to just work?

A fully hosted option is in planning — flat monthly fee, no OpenRouter account, nothing to set up. Drop your email, we'll let you know when it's ready.

One email when it's live. No drip. No spam. No selling.