Smart Calendar Manager logo
Smart Calendar Manager Calendars & Meeting Prep
Native Windows 11 Desktop App • WinUI 3 + .NET 9

Merge work & personal calendars — no OAuth required.

Reads any calendar through secret iCal feeds (RFC 5545), blocks personal availability on the work calendar with full privacy via a generated Apps Script, and automates video meeting prep.

0
OAuth Prompts
75/75
xUnit Tests Passed
🔒 Private
Busy Blocks Only
0%
CPU When Idle

Built For Two Calendars, One Person

No OAuth. No leaked details. No missed meetings.

Multiple iCal Feeds, No OAuth

Add one work secret iCal (RFC 5545) feed and any number of personal ones. The agenda merges them by time and tags each event; one failing feed never hides the others.

Private Availability Blocking (Apps Script)

A setup wizard generates a Google Apps Script with your personal feeds embedded. It runs in the work account and creates private "🔒 Busy" blocks — works even where Workspace blocks third-party OAuth apps. Recurring events are not expanded.

Precision Pre-Meeting Automation

Alerts before qualifying meetings — 5 minutes by default, configurable from 0 to 60 — and opens Granola, scoped to work feeds only or all feeds. By default only meetings with a video link qualify. Includes a dismissible banner that remembers discarded meetings.

Visual Cron-Style Launcher

Weekday pill selectors, a TimePicker, and any destination target — executables, custom URI schemes (slack://, spotify://) or web URLs. Zero CPU overhead when idle.

Fluent Design & System Tray

Native Windows 11 Mica backdrop, modern Fluent cards, and minimize-to-tray with context flyout actions (H.NotifyIcon.WinUI).

Dependency-Free RFC 5545 Parser

A calendar engine written from scratch: line folding, recurrence resolution (RRULE), and IANA/Windows timezone handling, plus meeting link detection for Meet, Zoom, Teams and Webex.

Technical Architecture

Clean Architecture, WinUI 3 & .NET 9

An unpackaged WinUI 3 desktop app on .NET 9, with the calendar and Apps Script logic decoupled into a testable core library — 75/75 xUnit tests passing.

  • 01 Clean Architecture + MVVM via CommunityToolkit.Mvvm, with domain logic isolated in SmartCalendarManager.Core
  • 02 RFC 5545 iCalendar Engine: recurrence (RRULE), line folding and IANA/Windows timezone resolution, written from scratch
  • 03 Bitmask Cron Launcher: weekday selection via DayOfWeekFlags, evaluated through System.Threading.Timer
architecture-overview.cs .NET 9 / WinUI 3
// Merge every enabled feed; one failure never hides the rest
public async Task<IReadOnlyList<CalendarEvent>> GetMergedAgendaAsync() {
    var events = new List<CalendarEvent>();
    foreach (var feed in _settings.EnabledFeeds) {
        try {
            events.AddRange(await _icalParser.ParseAsync(feed));
        } catch (FeedDownloadException ex) {
            _statusLine.ReportFailedFeed(feed.Name, ex);
        }
    }
    return events.OrderBy(e => e.Start).ToList();
}

Ready to unify your agenda?

Clone the repository to build locally or download the latest release from GitHub.

git clone https://github.com/AnaCataVC/smart-calendar-manager.git