Skip to content

Repository files navigation

ChronosDesk

Windows tray app for one-shot, repeating, and burst-interval reminders. Shows Windows toast notifications and persists reminders as local JSON — a desk utility I built and run daily.

CI License: MIT

ChronosDesk dashboard

Highlights

  • One-shot reminders at a specific date and time
  • Repeating reminders inside a daily window (including overnight windows such as 22:00 to 02:00)
  • Burst sessions with short intervals, optional breaks, and cycle limits
  • System tray icon with dashboard and quick add
  • Optional sound with each toast, with optional randomization across the five non-looping Windows notification sounds
  • JSON persistence under %AppData%\ChronosDesk\reminders.json
  • Layered Core / Infrastructure / Ui solution with manual composition root in App.xaml.cs
  • 33 xUnit tests for persistence, trigger-time logic, burst state transitions, and scheduler ticks
  • Windows CI build via GitHub Actions

Architecture

App.xaml.cs (composition root)
  -> ReminderScheduler
  -> JsonReminderRepository / WindowsNotificationService
  -> WPF dashboard + system tray

Four projects: ChronosDesk.Core (domain and scheduler), ChronosDesk.Infrastructure (JSON and Windows toasts), ChronosDesk.Ui (WPF and tray), and ChronosDesk.Core.Tests.

Details: docs/architecture.md

Stack

  • C# / .NET 10, Windows
  • WPF, WinForms tray icon
  • System.Text.Json
  • xUnit
  • Windows toast APIs

Docs

License

MIT

About

Windows tray reminder app with toast notifications and local JSON persistence.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages