An open codebase you can actually navigate
Mnemo is a cross platform desktop app built with Avalonia 12 and .NET 10, licensed under Apache 2.0. The architecture is deliberately boring in the good way: three layers, clear contracts, and features that live in self contained modules.
Three layers, one direction
Dependencies point inward. The core knows nothing about the outside world, infrastructure implements its contracts, and the UI consumes both.
Mnemo.UI
The Avalonia presentation layer. Views, view models, theming, and the module host.
Mnemo.Infrastructure
AI, storage, and knowledge services. The implementations behind the core's interfaces.
Mnemo.Core
Shared models, interfaces, and contracts. No external dependencies.
Features are modules
Notes, flashcards, mind maps: each feature is a self contained module
under /Modules, discovered automatically through the
IModule interface. A module brings its own views, view
models, and services, and the host wires it up.
This is also the extensibility story. The same mechanism that keeps first party features decoupled is what the planned Explore store builds on for third party extensions and themes.
Across the codebase the patterns are consistent: MVVM, dependency injection, and async first APIs. The coding standard spells out the details.
The stack
-
.NET 10Runtime -
Avalonia 12Cross platform UI -
SQLiteLocal storage -
MarkdigMarkdown -
LLama.cppLocal AI, WIP -
ONNX RuntimeEmbeddings, WIP -
CommunityToolkit.MvvmMVVM
Contributing
Contributions are welcome, and not only code. Bug reports from real study sessions are some of the most useful contributions there are, especially on Linux and macOS where builds get less testing.
- Found a bug? Open an issue with steps to reproduce
- Want to write code? Start with the good first issues
- Read the coding standard before opening a pull request
- The documentation covers both users and contributors