The browser can only see the browser. The companion is a small Windows tray app that watches the rest of the desktop and tells the extension what it finds, so a stint spent in Figma, Excel or a call is time your day actually accounts for instead of a five-hour hole labelled "idle". It is a separate product with its own release line, its own palette, and its own database. Every component below is built and running today, and it is now something you can download for Windows. Pairing it with the extension is now hardened: a one-tap token exchange from a new card in Settings authenticates the local bridge, replacing the open socket earlier builds shipped.
The companion watches which application and window is in front, sorts that into categories, keeps it in a local SQLite database, and pushes what it sees to the extension over a loopback WebSocket, so a stint spent in Figma, Excel or a call is time your day accounts for. Windows only, and not by oversight: the window monitor is bound to Win32 and the capture engine draws through GDI, so macOS and Linux are a port, not a build flag.
This build ships the hardened device pairing: the local bridge now requires a one-tap pairing token exchange before it will talk to a browser, closing the open-socket limitation earlier builds carried.
It can also capture the screen while the browser is not in front โ but that is off by default, redacted with a fail-closed pass when on, written only to your own machine and never uploaded, and auto-deleted after 30 days (90 while clocked in for an org). A fresh install captures nothing until you turn it on.
desktop-v0.3.1 GitHub release.
127.0.0.1:9147 for the extension bridge; 0.3.1 requires a one-tap
pairing token, exchanged from the extension's Settings pairing card or the tray's "Pair Extension"
action, before it will accept a connection. Still loopback-only and never reachable from your network.The companion has almost no UI on purpose. It is a tray icon, one optional 480ร640 window, and a great deal of machinery underneath - because the thing it is trying to be is invisible: if you have to interact with it, it has already failed at its job. So most of what follows is not a screen but a subsystem, shown as the surface through which you would ever actually meet it. The stages here render the companion's own tokens (accent #4a9eff, green #10ac84) and its 8/4 radius scale - it is a different app from the extension, and it does not pretend otherwise.