Noter is a modern WPF note editor I’ve been building with a focus on productivity, reliability, and developer-friendly architecture. It combines rich text editing with smart features like wiki-style linking, automatic crash recovery, and performance optimizations for large documents.
// CORE_FEATURES
The editor includes a comprehensive feature set designed for developers and power users who need more than basic note-taking.
Rich Text Editing: Full formatting support including styling, lists, colors, and highlights. The editor handles complex formatting while maintaining document integrity.
File Encoding Awareness: Automatic detection and conversion of file encodings and line endings. Essential for working with files from different systems and editors.
Crash Recovery: Autosave with draft and last-session restoration. Never lose work again – the app recovers gracefully from unexpected shutdowns.
Wiki-Style Links: Support for [[Links]] syntax with automatic backlink discovery. Build a personal knowledge base with interconnected notes.
// DESIGN_PRINCIPLES
The architecture follows several key principles that make the codebase maintainable and the application reliable:
Separation of Concerns: Each user-facing feature cluster has its own module, making the code easier to understand and modify.
Safe Logging: A LogSafe helper wraps all higher-risk UI operations, ensuring that errors are captured and handled gracefully without crashing the application.
Lazy Evaluation: Timers and caches for statistics and link parsing use lazy initialization, avoiding unnecessary work on large documents until the data is actually needed.
Isolated Settings: Editor preferences like zoom level, whitespace visibility, encoding, and line endings are persisted in small helper methods, keeping the settings logic contained and testable.
// ADDITIONAL_FEATURES
Beyond the core editing capabilities, Noter includes productivity features that speed up common workflows: quick insert for dates, times, images, files, and audio attachment placeholders; export to PDF and printing; find and replace with highlight-all functionality; inline statistics showing word and character counts with smart throttling for large documents; and a recent files list with pinning support.
// Technology: C# | WPF | .NET 8 | MVVM Architecture
