MCPcopy Index your code
hub / github.com/Tomotsugu-dev/Hindsight

github.com/Tomotsugu-dev/Hindsight @v0.8.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.8.3 ↗ · + Follow
1,785 symbols 4,429 edges 275 files 486 documented · 27% updated todayv0.8.4 · 2026-07-06★ 905 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hindsight

Hindsight

Your computer's diary — it remembers every day for you.

简体中文 · 繁體中文 · English · 日本語 · Português

GitHub Release Windows macOS License


Why Hindsight

Have you ever closed the laptop at midnight feeling like you "worked all day" but couldn't say what you actually got done? A while back I went hunting for a tracker to fix exactly that. Tried a bunch — none of them stuck:

  • ActivityWatch — open-source, privacy-first, technically ticks all the right boxes. Honest take: the UI just doesn't pull me in. I'd install it, look at it once, never open it again.
  • WorkReview-style apps — couldn't find one with both (a) cross-device visibility and (b) an hourly timeline like iPhone's Screen Time. I really wanted that "what was I doing at 3pm" zoomable view for desktop, and nothing had it the way I wanted.
  • Toggl / RescueTime / paid SaaS — these feel built for teams and HR-style "billable hours" tracking. The dashboards are dense, the flow is project-tagging-first, and the data lives on someone else's servers. Wrong tool for "personal awareness."

To fix exactly these gaps, I built Hindsight.

Interface Preview

App preview · Hindsight's core interactions in 1 minute

Today Overview

Today Overview · 24-hour stacked histogram × app leaderboard — see where your day went and your work / study rhythm at a glance

Monthly Statistics

Monthly Stats · Daily bars × monthly ranking — see your long-term work rhythm

AI Summary

AI auto-daily-report · Local LLM reads screenshots per time segment and outputs a paragraph-style summary; screenshots stay local

Key Features

  • 📊 See where your time goes — Background auto-tracking with hourly histograms + app rankings; weekly / monthly aggregation; customizable categories ("Work / Entertainment / Learning")
  • 🤖 AI auto-generated daily report (new) — Local LLM reads your screenshots and writes a per-segment summary
  • ☁️ Multi-device aggregation — Optional Google Drive sync of activity data; view across multiple computers (screenshots stay local)
  • 🔒 Local-first, privacy-first — Data stays on your machine by default; records only during your set work hours; auto-skips screenshots of login / password pages

Quick Start

Download the installer for your platform from Releases and install it.

Windows

Download hindsight_x.y.z_x64-setup.exe and double-click to install.

⚠️ First launch will trigger "Windows protected your PC" — the installer is not yet signed with an EV code-signing certificate, so SmartScreen will block it. Click "More info" → "Run anyway" to continue.

macOS

Download hindsight_x.y.z_universal.dmg (Apple Silicon + Intel universal binary), double-click to mount, then drag Hindsight into the Applications folder. The app is signed with an Apple Developer certificate and notarized, so it opens normally without any Gatekeeper warning.

All activity data and screenshots are stored locally by default. If you enable Google Drive sync, only activity metadata will be uploaded, screenshots will not be uploaded.

Tech Stack

Category Technology
Desktop framework Tauri 2
Frontend React 19 · TypeScript · Vite
Backend Rust · Tokio · SQLite · reqwest
AI inference llama.cpp · Qwen2.5-VL / Qwen3-VL · OpenAI-compatible API
Sync Google Drive API

License

This project is open source under the MIT License. Feel free to use, modify, and distribute.

© 2026 Hindsight contributors

Extension points exported contracts — how you extend this code

SqliteResultExt (Interface)
让 `rusqlite::Result ` 通过 `.db()?` 一步转成 `tokio_rusqlite::Result `。 详见模块顶部说明。 [1 implementers]
src-tauri/src/storage/mod.rs
DragState (Interface)
拖拽状态:源 process / 源组 / 锁定的列索引 / 源列水平中心(屏幕坐标)/ 当前 cursor Y
src/pages/Categories/PairingSection.tsx
CategoryMinutesInput (Interface)
输入形状:只关心 id + minutes,跟 RankedItem 兼容(cast 即可传入)
src/hooks/useSuperCategoryBreakdown.ts
NavItem (Interface)
(no doc)
src/types/nav.ts
AppStackProps (Interface)
(no doc)
src/components/AppStack/AppStack.tsx
SegmentColorInput (Interface)
(no doc)
src/utils/segmentColor.ts
DailyRunningSnapshot (Interface)
(no doc)
src/state/dailySummary.ts
HourSegment (Interface)
(no doc)
src/api/hindsight.ts

Core symbols most depended-on inside this repo

db
called by 360
src-tauri/src/storage/mod.rs
invoke
called by 91
web/demo-src/tauri/core.ts
logError
called by 51
src/lib/logger.ts
as_str
called by 50
src-tauri/src/repo/outbox.rs
utc_now_rfc3339
called by 41
src-tauri/src/storage/mod.rs
load
called by 30
src-tauri/src/repo/settings.rs
update
called by 29
src/components/ScrollBox/ScrollBox.tsx
delete
called by 29
src-tauri/src/sync/drive.rs

Shape

Function 1,322
Interface 164
Class 141
Method 137
Enum 21

Languages

Rust56%
TypeScript41%
Python3%

Modules by API surface

src/api/hindsight.ts51 symbols
src-tauri/src/repo/reports.rs38 symbols
src-tauri/src/chat/tools.rs31 symbols
src-tauri/src/ai/server.rs31 symbols
scripts/poc/l1-phash-poc.py31 symbols
src-tauri/src/sync/auth.rs28 symbols
src-tauri/src/ai/platform.rs27 symbols
src-tauri/src/capture/service.rs26 symbols
src-tauri/src/sync/engine/pull.rs25 symbols
src-tauri/src/repo/app_groups.rs24 symbols
src-tauri/src/ai/ocr.rs24 symbols
src-tauri/src/sync/drive.rs23 symbols

For agents

$ claude mcp add Hindsight \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page