Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Dayflow

caeziumcaezium40 downloads

Read your Dayflow activity timeline read-only and write daily + weekly notes into your vault, with inline SVG charts, Bases dashboards, and optional ActivityWatch enrichment.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

Bring Dayflow into your Obsidian vault.

This plugin reads Dayflow's chunks.sqlite read-only and writes daily + weekly notes into your vault, with inline SVG charts, Bases dashboards, optional ActivityWatch enrichment, and a side-pane Today view that refreshes after every sync.

Local-first. Zero network calls. (Except optional localhost:5600 when you opt in to ActivityWatch enrichment.)


What you get

Daily notes

A > [!info] Day at a glance callout at the top — tracked hours, top categories, focus/distraction progress, current focus streak. Then a compact 24-cell hourly strip colored by what you mostly did each hour, your standup highlights/tasks/blockers, journal intentions and reflections, the full timeline (each card with thumbs-up/down ratings inline), top apps, and goal categories. Frontmatter exposes every signal — total_minutes, focus_pct, categories, top_apps, etc. — so Bases and Dataview can slice it freely.

image

Weekly notes

Inline SVG charts that read in both light and dark themes (they all use currentColor):

  • Donut of weekly distribution with total in the hole
  • Bar chart of category totals
  • Nested treemap — categories as soft tinted blocks, apps inside colored by brand (YouTube red, GitHub charcoal, Claude orange, …)
  • Workflow grid — 30-min × 7-day cells colored by dominant category (mirrors Dayflow's "your workflow this week")
  • Focus heatmap — intensity by hour × day
  • Context shifts vs distractions — multi-series line chart over the days
  • Sankey of app-to-app transitions
  • Week-over-week comparison — ▲ +2h / ▼ -3h deltas vs last week's totals + focus + distraction
image image image

Year notes

Dayflow_YYYY.md written on every sync with a GitHub-style 53-week × 7-day activity heatmap plus year totals and your best day.

Side panes

Three views you can dock anywhere:

  • Today — live-rendered today's note with refresh + last-sync indicator
  • This Week — same shape, for the current weekly note
  • Dashboard — tiny start page: hero number (today's hours), one-sentence focus-goal status, three navigation buttons. Heatmap-free, deliberately minimal.
image

Bases dashboards

One click installs three .base files:

  • Recent days — card gallery of the last 30 days
  • Weekly review — sortable table of every weekly note
  • Focus performance — table grouped by goal hit / close / miss
image

ActivityWatch enrichment (opt-in)

Flip a toggle to query your local ActivityWatch and get precise per-app minutes under every Dayflow timeline card, plus a full per-day app breakdown. Web-tab noise filtered to active-browser windows only. Localhost only — auto-detects buckets via /api/0/buckets.

Schema drift detection

Every sync checks the live chunks.sqlite against the schema fingerprint the plugin actually reads. Missing required tables abort with a clear error; unknown new tables Dayflow.app added since the plugin was written surface as a Notice so you know to check for an update.

Stamp into your Obsidian Daily Note

Optional toggle: appends a small > [!info] Dayflow callout into your existing core-Daily-Notes file linking the Dayflow note for that day. Stamp block is bounded by HTML comments so re-syncs update in place instead of duplicating.

Status bar + commands + ribbon

  • Status bar: Dayflow · synced 12m ago — click to sync now
  • Commands: Sync now, Open today's note, Open this week's note, Open Today side pane, Open This Week side pane, Open Dashboard
  • Ribbon icons: sync · Today view · Dashboard

Install

Via BRAT (recommended for now)

  1. Install BRAT from Obsidian's community plugin store
  2. Cmd+P → BRAT: Add a beta plugin
  3. Paste caezium/obsidian-dayflow-plugin
  4. Enable Dayflow in Settings → Community plugins

Manual install

  1. Download main.js, manifest.json, styles.css from the latest release (the SQLite WASM is bundled into main.js — no separate asset)
  2. Place them in <vault>/.obsidian/plugins/dayflow/
  3. Reload Obsidian, then enable Dayflow in Settings → Community plugins

Requirements

  • macOS (Dayflow.app is macOS-only)
  • Dayflow installed and recording activity
  • Obsidian 1.8.0 or newer

Setup

After enabling the plugin:

  1. Open Settings → Dayflow
  2. Confirm the Output folder (default 30_resources/Dayflow)
  3. Click Install Bases dashboards to drop the three .base files
  4. (Optional) Toggle Enable ActivityWatch sync if you have ActivityWatch running
  5. Trigger your first sync: Cmd+P → Dayflow: Sync now

Your daily and weekly notes appear under the configured folder. Open the side pane via Cmd+P → Open Today side pane or by clicking the activity icon in the ribbon.


Settings

Group Setting Default What it does
Output outputFolder 30_resources/Dayflow Vault folder for all generated notes
Sync syncDays 3 How many days back each sync covers
Sync skipDaysBefore (empty) YYYY-MM-DD lower bound. Days before this are never synced.
Sync syncOnStartup true Run a sync 5s after Obsidian opens
Sync intervalMinutes 30 Background sync interval. 0 disables.
Sync dbPath (empty) Override path to chunks.sqlite
Formatting categoryWikilinks true Render categories as [[wikilinks]]
Formatting includeDeleted false Include cards marked deleted in Dayflow
Formatting appendToDailyNote false Stamp a callout into your existing Daily Notes file
ActivityWatch awEnabled false Off by default — flip on if you have AW running
ActivityWatch awUrl http://localhost:5600 Your AW server URL
ActivityWatch awWebBrowserOnly true Filter web events to active-browser windows only

Privacy

  • Read-only SQLite — the plugin opens chunks.sqlite with wasmBinary + sql.js in read-only mode. It cannot modify Dayflow's data, even by accident.
  • Zero network calls by default. The only network code path is the optional ActivityWatch enrichment, which only ever talks to localhost:5600.
  • No telemetry. No analytics, no error reporting, no remote logging.
  • Desktop-only. isDesktopOnly: true in the manifest. Runtime guard via Platform.isMobile means even if loaded on mobile, the plugin no-ops cleanly with a one-line explainer.
  • Build provenance. Every release is built in GitHub Actions and signed with a sigstore attestation linking the binary to its exact source commit. Verify with gh attestation verify main.js --owner caezium.

You can audit the network surface with grep -RIE 'fetch\(|axios|requestUrl|XMLHttpRequest|https?://' src/. The only matches will be inside src/data/activitywatch.ts (gated behind the awEnabled toggle) and the SVG XML namespace (http://www.w3.org/2000/svg) which is not a network call.


Build

git clone https://github.com/caezium/obsidian-dayflow-plugin
cd obsidian-dayflow-plugin
npm install
npm run build   # type-check + bundle to main.js

Output: main.js (CJS bundle, ~1 MB — esbuild's binary loader inlines sql-wasm.wasm directly into the bundle so there's no separate asset). Drop that + manifest.json + styles.css into <vault>/.obsidian/plugins/dayflow/.


Architecture notes

  • src/db.ts — sql.js wrapper. The WASM blob is imported via esbuild's binary loader at build time (import wasmBytes from '../node_modules/sql.js/dist/sql-wasm.wasm') so it ends up inlined in main.js as a Uint8Array. We hand it to initSqlJs({ wasmBinary }) so sql.js never tries to fetch() it — that fails in Electron's renderer.
  • src/data/ — One module per Dayflow table: timeline, journal, standup, goals, ratings, observations. Each gracefully degrades when a table is missing (for older Dayflow schemas).
  • src/aggregators/ — Pure functions that turn rows into category breakdowns, per-app totals, focus heatmaps, context shifts, dominant-category grids, week-over-week deltas, focus streaks, etc.
  • src/viz/ — Pure-JS SVG generators (treemap with nested mode, heatmap, sankey, bars, donut, lines, workflow-grid, hourly-strip, year-heatmap). Text fills use currentColor for theme awareness; app tiles use brand colors via colorForApp.
  • src/exporters/ — Daily-note + weekly-note + year-note + Bases + daily-note-stamp.
  • src/ui/ — Three ItemView subclasses (today, week, dashboard). Today and Week embed their respective notes via MarkdownRenderer.render(); Dashboard is fully DOM-rendered.
  • src/data/activitywatch.ts — REST calls via Obsidian's requestUrl (fetch/axios are CORS-blocked). Auto-discovers window/web/afk buckets.
  • src/util/schema-check.ts — Compares the live SQLite schema to the fingerprint each fetcher expects. Notice for drift, abort for missing-required.

Acknowledgements

  • Dayflow by Jerry Liu — the app that captures everything

License

MIT — see LICENSE.

97%
HealthExcellent
ReviewSatisfactory
About
Import Dayflow's chunks.sqlite to generate daily and weekly notes with rich frontmatter and inline SVG charts (treemap, heatmap, Sankey). Show a live Today side pane that auto-refreshes after sync, include Bases dashboards, and opt into local ActivityWatch enrichment for precise per-app minutes — all local-first with no network calls.
DatesVisualizationSidebar
Details
Current version
0.3.0
Last updated
Last week
Created
Last week
Updates
6 releases
Downloads
40
Compatible with
Obsidian 1.8.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
caeziumcaeziumcaezium
GitHubcaezium
  1. Community
  2. Plugins
  3. Dates
  4. Dayflow

Related plugins

Markwhen

Create timelines, gantt charts, calendars, and more using markwhen.

Chronology

A calendar and a timeline of the note's creation and modification.

Yearly Glance

Year at a glance - overview of annual events with customizable management options.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Recent Files

Display a list of recently opened files.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Day Planner

Day planning from a task list in a Markdown note with enhanced time block functionality.

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.