Locus

Where intent meets attention

A native Windows productivity tool that merges a four-stage task board with automatic, OS-level focus tracking. It tells you whether the work you planned matched the application you were actually in, with no manual input.

Most task tools track intent. Most time trackers record raw clock time. Locus is the one that checks the two matched.

Local-first·No telemetry, no cloud, no accounts ·Single Go binary, no CGO·GPL-3.0
One surface

A board and a focus tracker in the same window

Work moves through four fixed stages. Above it, Focus History ranks the applications that actually held your attention across today, yesterday, this week or this month. Claude Code activity flows onto the board live, marked with an amber left border.

Who it is for

For people who want to see the gap close

Locus is a small, local productivity tool for Windows. It suits people who plan work deliberately and want an honest, automatic record of where their attention actually went.

It is for you if

  • You are on Windows 10 or 11 and want a task board plus focus tracking in one native window.
  • You want to know whether logged time matched real attention: editor versus Discord, deep work versus drift.
  • You use Claude Code and want your session's edits, tests and builds to populate the board automatically.
  • You want your data local and yours: SQLite on disk, no telemetry, no cloud, no accounts.

It is not for you if

  • You are on macOS or Linux. Focus tracking uses Win32 APIs, so Locus is Windows-only.
  • You want a team board with sync and sharing. Locus is single-user and offline by design.
  • You want flexible custom columns. The four stages are fixed; only their labels are renameable.
  • You are uncomfortable with a tool that watches foreground focus, even though it never leaves your machine.
The board model

Four fixed stages, tasks that are units of execution

Stages have stable internal IDs and renameable labels. Tasks carry a status (Not Started, In Progress, Blocked, Complete) and are timed at the task level, with only one session active at a time.

Plan

Scope the work before you start it. Research and shaping live here.

Execute

Active units of work. Sessions time attention against the task you pinned at start.

Check

Verify what was built. Test runs from Claude Code land here automatically.

Done

Completed work. A named snapshot is saved automatically at session end.

Claude Code integration

Your session builds the board as you work

Hook scripts and a skill file are installed and removed automatically by the installer. Each meaningful tool call appears as a board card with an amber left border, routed to the right stage and moved to Done when it succeeds. Trivial commands are filtered out.

01

Edits start at Execute

Edit, Write and NotebookEdit tool calls appear at Execute, labelled by filename.

02

Tests start at Check

Bash calls with test keywords (go test, pytest, jest) route to Check; other meaningful commands go to Execute.

03

Success moves to Done

On a successful command the card moves to Done. On failure it stays in place, so what stalled stays visible.

04

Noise is dropped

Trivial commands like cd, ls and cat are filtered. Compound commands strip the trivial prefix first.

Focus intelligence

Native tracking, no external tools

Locus reads foreground focus through the Windows GetForegroundWindow and QueryFullProcessImageNameW APIs, polling every 500ms into the same SQLite database as your tasks. Focus data is available from first launch.

A

Real app names

Resolved from Windows PE version info, falling back to product name then the executable stem. No hardcoded mappings.

B

Idle-aware

Gaps over five minutes are detected and subtracted from deep-work time, so idle does not count as focus.

C

System noise filtered

Processes under C:\Windows\ are excluded automatically, leaving the applications you chose to open.

D

Four time windows

Today, Yesterday, This Week (ISO) and This Month, ranked by total focus time with today refreshing every two seconds.

Get started

One command to build, install and launch

Locus is a Go and Wails application. The installer builds it, installs to %LOCALAPPDATA%\locus\, registers auto-start on login and launches it, all per-user with no administrator rights.

Prerequisites

Go 1.21+, Node.js 20+ and Windows 10 or 11. WebView2 ships with Windows 11; on Windows 10 install it from Microsoft. The Wails CLI is installed for you if missing.

Install

Run .\install.ps1 from the project root. It builds the single locus.exe, installs it, sets up Claude Code hooks and the skill, and launches.

Restart Claude CLI

Restart Claude Code so the hooks take effect. Then run /go locus at the start of a session to load the skill context.

Uninstall any time

.\uninstall.ps1 stops the app, removes the startup key and deletes the install directory. Your board data is kept. Add -PurgeData to remove it too.

# One-shot install: build, install, auto-start, launch
git clone https://github.com/oernster/locus
cd locus
.\install.ps1

# Or a development build with hot reload
go install github.com/wailsapp/wails/v2/cmd/wails@latest
cd frontend && npm install && cd ..
wails dev

# Production build (outputs build\bin\locus.exe)
wails build