← Back to Projects

2026

Reminders for Windows

A desktop client for Apple Reminders, with the due-date notifications Windows otherwise never gives you.

SoftwareWindows AppRust

A native Windows app that brings Apple iCloud Reminders to the desktop, with offline editing, automatic syncing, and Windows notifications.

Overview

I built Reminders for Windows to make it easier to manage reminders across Apple devices and a Windows PC. Written in C# with .NET 8 and WinUI 3, it connects directly to iCloud and provides a dedicated desktop interface for viewing, creating, editing, and completing reminders.

The app keeps a local copy of reminder data, so cached reminders remain accessible without an internet connection. Offline changes are queued for upload when connectivity returns.

Features

  • iCloud syncing: Access existing lists and sync reminder titles, notes, due dates, priorities, flags, and completion status.
  • Offline support: Browse cached reminders and queue edits locally.
  • Smart views: Organize tasks through Today, Upcoming, All, Completed, and Deleted views.
  • Search and filtering: Search locally, sort reminders, and filter by existing tags.
  • Windows integration: Native controls, due-date notifications, and light and dark themes.
  • Customizable interface: Choose Windows or Apple-style layouts and personalize sidebar icons, colors, and list order.
  • Conflict resolution: Choose which version to keep when a reminder changes both locally and in iCloud.
  • Demo mode: Explore the interface using sample data without signing in.

Engineering

The interface and sync engine run together in a single process. SQLite provides local storage, while a persistent queue tracks pending changes. Reminder edits and their queued uploads are saved together to keep local data and sync operations consistent.

The backend handles Apple’s SRP authentication, CloudKit records, and reminder text formats. Passwords and session tokens are stored separately in Windows Credential Manager. Automated tests cover authentication, offline changes, sync behavior, and date handling across daylight-saving transitions.

The project supports x64 and ARM64 builds, with MSIX packaging and portable distribution options.

Built with: C#, .NET 8, WinUI 3, Windows App SDK, SQLite, and PowerShell.

Current Limitations

Creating or changing iCloud lists is currently unsupported, and two-factor sign-in requires an SMS code sent to a trusted phone number. The app uses undocumented iCloud interfaces, so compatibility depends on changes made by Apple.

Reminders for Windows is an independent project and is not affiliated with Apple or Microsoft.

View the source on GitHub