Velvt sits quietly in your menu bar, sealing every observation on-device and modeling how you actually work. Once or twice a day, it tells you something specific about your focus — in the voice of a neutral data scientist, not a cheerleader.
You've switched away from your task 18 times in the last 30 minutes — 3× your usual rate.
VS Code ⇄ Discord ⇄ Twitter · cluster detected
You haven't done anything that looks like focused work in 2 hours and 14 minutes.
Last FOCUS_WORK event: 14:46 · Safari, Reddit since
Your longest focus block today was 18 minutes. Your personal record is 94 minutes — that was last Thursday.
Daily heartbeat · 8:00 PM
A single window, a single gauge, a single timeline. No streaks. No scoreboards. No emoji.
ThresholdYou've switched away from your task 18 times in the last 30 minutes — 3× your usual rate.
InactivityYou haven't done anything that looks like focused work in 2 hours and 14 minutes.
Evening SummaryYour longest focus block today was 18 minutes. Your personal record is 94 minutes — that was last Thursday.
Collection is open-source so you can audit it. Modeling and insight live above an obfuscation pipeline.
Passive macOS background process. Logs active window titles, app names, timestamps via the Accessibility API. ~1 event per 5s of active use.
Computes Focus Fragmentation, Switching Clusters, and Proportionality. Days 1–14 are rule-based; from Day 15 it deviates against a rolling 14-day baseline.
Lightweight LLM (or local inference) translates metrics into one objective sentence. Falls back to deterministic syntactic phrases if offline.
Menu bar app, native notifications, three timeline tracks. No dashboards. No streaks. Maximum three alerts per day.
The mapping dictionary lives only on your machine. Insights are reverse-translated locally before they ever appear on screen.
A hybrid scheduler: one event-driven anomaly, one inactivity threshold, one fixed evening heartbeat.
Fires the moment a switching cluster or fragmentation anomaly crosses the line. Real-time. Dynamic.
The guilt engine. When you haven't done anything that looks like work for as long as you said you wouldn't.
The non-negotiable daily heartbeat. One sentence. The thing you'd rather not hear.
The collection agent is free and open-source. Pay only if you want the longer memory.