A simple notes and reminders app for Windows, built with WinUI 3 and C#.
Report a bug
·
Request a feature
Table of Contents
I simply wanted to create a good-looking notes and reminders app that utilizes the Windows notification system. I also liked the look of WinUI design.
This app started as a side project that I aimed to use daily while continuing to develop it. I wasn't able to spend as much time on the project, but I never forgot about it or abandoned it.
The original version was created with .NET 7 and Template Studio. I later tried upgrading it to .NET 8 for long-term support, but WinUI wasn't getting much attention at the time, and it was unstable. Some parts broke, and I encountered strange errors that were difficult to trace back to their causes, so I left it alone for a while. But I was determined to return someday and rewrite it.
Now rewritten in .NET 10 and modernized.
- The new version uses SQLite with Entity Framework Core instead of JSON and RTF files.
- The notification service and reminders are more reliable.
- A tray icon provides quick access while the app runs in the background. Double-click it to bring the app to the foreground, or right-click it to open the menu.
- Settings include:
- Language selection (currently English and Turkish)
- 12-hour or 24-hour time format
- Looping alarm sound for alarm reminders; when disabled, the sound plays once
- Notification priority: High priority is the recommended setting for reminders that need to appear over full-screen apps. Back when I played CS, these notifications could steal focus and play the alarm sound over the game, sometimes costing me a round :D. Normal priority respects Windows notification settings and restrictions.
- Trash retention: Items are permanently deleted after 30 days by default. The retention period can be changed to 5, 15, 45, 60, or 90 days, or set to Never. Each item's own deletion date is considered.
Version 2.0 includes many other changes and improvements. Rather than trying to list every difference, I encourage you to explore the new version and see what's changed.
These are the main frameworks and libraries used to build MyNotes. Additional libraries and resources are listed in the Acknowledgments section.
MyNotes 2.0 is built with .NET 10 and WinUI 3. Windows 10 compatibility has not been verified for version 2.0 and later. Windows 11 is recommended.
The installer should handle the required dependencies where possible. If a dependency is missing, you may need to install the appropriate .NET 10 and Windows App SDK components.
- Download
MyNotes_x64.msifrom the GitHub Releases page. - Run the installer and follow the setup wizard.
- Launch MyNotes using the shortcut created by the installer.
- Enable "Open on startup" in the app's settings to help ensure reminders work reliably.
Version 2.0 introduces a new SQLite database, replacing the previous JSON and RTF file-based storage. Existing data must be migrated using the separate migration tool.
- Install and launch MyNotes 2.0 once to allow it to create its database.
- Close MyNotes before running the migration tool.
- Run the migration tool and follow its instructions to transfer your existing data.
Keep a backup of your old data before migrating.
MyNotes is designed to be straightforward to use, with tooltips and visual guidance throughout most of the interface.
- Open the Notes page and click Add.
- Write and format your note in the Note Editor.
- Save your changes. Your note will then be available from the Notes page.
When creating a reminder, configure the following fields:
- Header: The reminder's name. Required.
- Text: The reminder's message. Required.
- Time: The time when the reminder should trigger. If not selected, the current time is used.
- Date: The date for a one-time reminder.
- Repeat: Enable this to repeat the reminder daily at the selected time. Optional; disabled by default.
- Active: Determines whether the reminder will trigger. Disable this to keep a reminder saved without it running.
- Alarm: Choose between a normal Windows notification with its notification sound and an alarm notification with the alarm sound.
- Note: A note-selection option is available in the interface, but linking reminders to notes is not yet implemented.
You can manage reminders from the Reminders page. When a reminder triggers, you can snooze or dismiss its notification. Dismissing a one-time reminder moves it to Trash.
When MyNotes starts, it checks for expired reminders and notifies you about expired and current reminders. Expired reminders are moved to Trash, and you can use the notification's button to view the deleted items.
The Planner starts with three default lists: To Do, In Progress, and Done.
- Add a list using the button in the top-right corner, then give it a name and choose a color.
- Add items to a list or edit existing lists and items using the available controls.
- Use the reorder controls to change the order of your lists.
Deleted notes, reminders, lists, and other items go to the Trash page, where you can restore them or delete them permanently.
By default, items in Trash are permanently deleted after 30 days. You can change the retention period or disable automatic deletion in Settings.
Enable Open on startup in Settings to add MyNotes to your Windows startup apps. Manage this option from within MyNotes rather than changing it through Task Manager.
- Recreation and modernization
- Connect notes to reminders, so clicking a reminder notification opens its associated note (initial groundwork is in place; implementation is still needed)
- Add list ordering and filtering options
- Add speech-to-text for notes
- Add an option to export notes as files
- Support images in notes (not currently a priority)
- Add a task view page
- Add weekly and monthly planner views
- Explore options for cloud backup
- Localization - Crowdin
- English
- Turkish
- Additional languages may be added in the future
- Contributions to translations are welcome; open a feature request if you'd like to help / Crowdin Invite
See the open issues for a full list of proposed features and known issues.
Contributions, suggestions, and feedback are welcome!
- Report a bug: Open an issue on GitHub Issues and describe the problem you encountered.
- Request a feature: Open an issue to suggest an improvement or discuss a new feature before starting work on it.
- Contribute code: Fork the repository, make your changes, and submit a pull request.
- Help with translations: Contributions to existing translations or new languages are welcome. Open a feature request if you'd like to help.
If you find MyNotes useful, consider giving the project a star. Thanks for your interest and support!
MyNotes is licensed under the GNU General Public License v3.0. See LICENSE file for more information.
These are the resources that helped me during development and that I'd like to give credit to.
- This project uses Advance Installer to create an installation package. They provided us a professional license to use for this project (if someone from advance installer is reading this, thank you all, you guys helped me a lot :D) (update: i think licance is expired, i need to check it and re-apply for new one if possible)
- Stack Overflow: I fixed the app's lifecycle handling and replaced the old solution, but I'm leaving this question here in case it helps someone else.
