Skip to main content

Focusd on GitHub

Complete source code, installation guide, and demo download

What Is It?

Your personal productivity oracle. Focusd runs all day, watching your screen and understanding what you’re working on. No manual timers, no app-switching, no logging. At the end of the day (or anytime you ask), it tells you: where your time went, what you accomplished, and how to do better tomorrow.
The Insight: “You spent 2.3 hours on the authentication refactor, switching between VSCode (67%) and documentation (33%). You were blocked for 23 minutes waiting for builds. Consider optimizing your build pipeline.”

Why It’s Different

Automatic Everything

Forget manual time tracking. Focusd:
  • Records continuously in background
  • Understands context from your screen
  • Detects when you switch projects
  • Identifies productive vs idle time
  • Generates summaries automatically

The 5-Layer Pipeline

Focusd transforms raw screen captures into structured insights through intelligent summarization:
1

L0: Raw Events

Screen indexed every ~3 seconds. Extracts app names, page titles, visible content.
2

L1: Activity Segments

Events grouped into time-based chunks (e.g., 5-minute windows).
3

L2: Micro-Summaries

Each segment summarized by LLM: what you did, which app, productive or not.
4

L3: Session Summaries

Micro-summaries roll up into session overviews with app stats and project breakdown.
5

L4: Daily Summary

Everything consolidates into a headline, highlights, and actionable suggestions.

Key Features

Real-time feed of what you’re doing, updated every few seconds. See your work unfold as it happens.
Automatic overviews of each work session:
  • What you worked on
  • Which apps you used
  • Projects and time breakdown
  • Productivity assessment
Select any time range for detailed breakdown:
  • App usage percentages
  • Project time distribution
  • Context from screen captures
Visual insights:
  • Total tracked time
  • Productive time percentage
  • Top applications used
  • Project distribution
End-of-day report with:
  • Headline summary
  • Session highlights
  • Productivity insights
  • Tomorrow’s suggestions
Browse past days with full summaries and activity data. Understand your weekly and monthly patterns.

Who It’s For

Freelancers

Track client projects automatically. Generate accurate time reports without manual logging.

Developers

Understand where coding time goes. Identify interruptions, context switches, and optimize your flow.

Knowledge Workers

See how much time you spend in meetings vs deep work. Find patterns in your most productive hours.

Remote Workers

Stay accountable without micromanagement. Get insights into your work patterns and share summaries with your team.

Tech Stack

Built with modern desktop technologies for performance and reliability:

Electron + React

Desktop app shell with React UI

TypeScript

Type-safe throughout

SQLite

Local data storage for privacy

VideoDB SDK

Screen capture and AI indexing

OpenAI

LLM for summarization pipeline

Recharts

Dashboard visualizations

Getting Started

Prerequisites
1

Clone and Install

git clone https://github.com/video-db/videodb-capture-quickstart.git
cd videodb-capture-quickstart/apps/electron/focusd-productivity-tracker
npm install
2

Configure API Key

Copy .env.sample to .env and add your VideoDB API key.
3

Run Development Mode

Run npm run dev to start the app in development mode.
4

Grant Permissions

macOS will prompt for Screen Recording permission. Grant it in System Settings.
5

Start Tracking

Hit the record button. Wait a few minutes, then check your live timeline and dashboard!
System PermissionsRequired in System Settings > Privacy & Security:
  • Screen Recording (mandatory)
  • System Audio Recording (optional, for audio context)

Configuration

All settings adjustable from the Settings page:
SettingDefaultPurpose
segment_flush_mins5 minHow often events group into segments
micro_summary_mins10 minFrequency of segment summarization
session_summary_mins30 minSession-level summary generation
idle_threshold_mins5 minInactivity threshold before pausing
Tweak these to balance between insight granularity and performance.

Privacy First

Local Storage - All data stored in SQLite on your machine (~/Library/Application Support/VideoDB Focusd/)
Encrypted Keys - API keys stored in macOS Keychain via Electron’s safeStorage
No Cloud Storage - Summaries generated, then stored locally. Screen captures processed and discarded.
Full Control - Delete all data anytime: rm -rf ~/Library/Application\ Support/VideoDB\ Focusd/

Complete Setup Guide on GitHub

Detailed installation instructions, configuration guide, and troubleshooting help