How it works

A workday becomes useful when it's broken into honest blocks.

FocusMirror groups activity into sessions, blocks, and switches so you can review the day without tagging every minute. Here's the system — including where AI is used, and where it isn't.

From activity to blocks

Raw moments, grouped into a shape you can read.

While a session runs, FocusMirror notes which app or site is active. On its own that stream is noise. It's coalesced into blocks — continuous stretches in one category — so a morning becomes a handful of meaningful spans instead of hundreds of fragments.

The raw stream
CursorCursorSlackChrome · docsZoomCursor
The same morning, as blocks
8:30 AM11:28 AM
Deep Work · 55mCommunication · 8mResearch · 32mMeeting · 30mDeep Work · 40mBreak · 13m
What counts as a switch

Not every app change is a context switch.

Stays one block

Moving from your editor to the docs you're referencing for the same task is still one stretch of focused work. Brief, on-task moves don't fragment a block.

Counts as fragmentation

Bouncing editor → Slack → calendar → messages, again and again, is the pattern that makes deep work hard to reach. That's what switch density measures.

The vocabulary

Nine categories — a closed, legible set.

Every block lands in one of these. The colors are the ones you see in your own reports.

Deep Work

Uninterrupted, goal-aligned work — the blocks that move things forward.

Communication

Messaging, email, and chat — the connective tissue, and the usual source of switches.

Admin

Logistics — scheduling, expenses, the small necessary overhead.

Research

Reading, searching, and gathering — the input work that feeds the output.

Meeting

Calls and scheduled time with other people.

Learning

Courses, docs, and flashcards — deliberate study.

Break

Restorative pauses. Neutral by design — never counted against you.

Idle

No input detected. A gap to interpret, not “wasted time.”

Unknown

Not yet classified — derived from what's left, never guessed at.

No score

Why there's no productivity score.

A single number makes a day look cleaner than it was, and invites you to game it. FocusMirror shows the shape instead: blocks, switches, recovery gaps, and one recommendation. No productivity score — a single number can't be honest about a day. Blocks can.

The one recommendation

Where tomorrow's suggestion comes from.

The recommendation layer looks for one practical adjustment — not a verdict. The inputs are simple and visible:

Today's blocksYour typed goalStrongest uninterrupted stretchFragmentation patternone suggestion
AI, used sparingly

Where AI is — and isn't — involved.

Most classification doesn't use AI at all: a shared catalog maps known apps and domains to categories with deterministic rules. AI is used only to write the words — your interval check-ins, the daily summary, and the one recommendation.

And it never sees the raw stream. The model receives time blocks only — categories, durations, app names, domains, and the goal you typed. Never keystrokes, titles, or content. See the trust page for exactly what crosses each boundary.

Honest limitations

What this method can't do.

Categories can be wrong. A catalog and AI make a best guess; you can relabel any block, and the correction sticks.

Idle time is not automatically bad. It can be reading, thinking, a call, or a needed break.

A fragmented day can be the right day. Some work is meant to be reactive.

It reflects patterns; it does not judge intent. There is no score, and no “good” or “bad” day.

A disciplined system, not AI magic.

See the research behind the method, or watch it work on a real day.