For developers

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 10 Runtime
  • Avalonia 12 Cross platform UI
  • SQLite Local storage
  • Markdig Markdown
  • LLama.cpp Local AI, WIP
  • ONNX Runtime Embeddings, WIP
  • CommunityToolkit.Mvvm MVVM

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.