journal
Local-first automation for Obsidian journal analytics.
Local-first Obsidian analytics automation.
// overview
journal-sync is local-first Python automation that turns Flow focus sessions and iCloud Shortcut payloads into deterministic daily, weekly, monthly, and yearly analytics inside an Obsidian vault.
It also maintains media and university-grade workflows. The codebase emphasizes strict parsers, stable Markdown rendering, atomic note updates, advisory locks, and recoverable validation or quarantine for external payloads.
// how it works
CLI commands dispatch daily and period sync through application services. Focused adapters read Flow SQLite, iCloud status JSON, schedules, media sources, and Obsidian Markdown.
Domain modules compute metrics and reporting windows, then render stable frontmatter, tables, text charts, trends, and moving averages back into the vault through file-safe publication.
// capabilities
Daily sync
Combines Flow sessions, schedule rules, training, and sleep data into Obsidian metrics and frontmatter.
Period reports
Builds weekly, monthly, and yearly Markdown reports with deterministic tables, trends, and moving averages.
Media workflows
Scans books and podcast series, regenerates series indexes, and imports Kindle annotations.
Safe local operation
Protects note updates with atomic writes, advisory locks, and recoverable external-payload validation.