Now integrated into FCR plugin for Obsidian

output

Full Calendar Remastered v0.12.9

Hi,

I wanted to share a project I’ve been working on that integrates ActivityWatch with a full-featured calendar system inside Obsidian.

Full Calendar (Remastered) is an open-source calendar plugin for Obsidian that brings a complete calendar experience into your notes — with support for:

  • Local note-based calendars
  • Daily note event timelines
  • Google Calendar
  • CalDAV providers (iCloud, Fastmail, etc.)
  • .ics feeds
  • Obsidian Tasks integration

With v0.12.9, it now includes native ActivityWatch integration.


:brain: ActivityWatch Integration (v0.12.9)

This release introduces a fully automated pipeline to convert ActivityWatch data into structured calendar events.

Key capabilities

  • :stopwatch: Automatic timeline → calendar sync
    Converts ActivityWatch buckets (window, web, editor, AFK, etc.) into calendar blocks.

  • :puzzle_piece: Rule-based mapping
    Flexible regex-based rules let you define how buckets map to events (e.g. {app}, {title}, {url} in event names).

  • :gear: State-machine session detection
    A 3-phase FSM (Idle → Warmup → Active) filters noise and extracts meaningful sessions.

  • :counterclockwise_arrows_button: Continuity-aware syncing
    Sessions extend correctly across sync runs instead of fragmenting or duplicating.

  • :feather: Non-destructive + privacy-friendly
    Data is consumed directly from local ActivityWatch API (localhost:5600) — no external services.


:rocket: Why this might be interesting

ActivityWatch already provides rich raw data, but this aims to:

  • Turn it into a human-friendly timeline
  • Make sessions editable, annotatable, and linkable
  • Bridge quantified self → knowledge management workflows

Basically:

“Take your tracked activity and instantly turn it into a usable daily history of work.”


:link: Links


:folded_hands: Feedback

Would love thoughts from the ActivityWatch community — especially on:

  • rule design / categorization approaches
  • handling overlapping watcher data
  • session inference strategies

If anyone is already doing something similar, I’d love to compare approaches.

Thanks!