A minimalist, fully local, AI-powered note-taking application built with .NET MAUI and Blazor. Nouz combines the flexibility of block-based editing with intelligent AI assistance to help you capture, organize, and retrieve your thoughts effortlessly.
- All data is saved locally in a sqlite database
Build notes from flexible, reusable blocks:
- Text blocks - Paragraphs, headings (H1-H4), and quotes
- Lists - Bullet lists, todo items with checkboxes, and agenda items
- Code blocks - Preserve syntax and formatting
- Special blocks - Decision boxes, warning boxes, and dividers
- Images - Paste or insert images with captions and adjustable sizing
- Inline styles - Bold, italic, strikethrough, and inline code
- Text colors - Apply custom colors with an integrated color picker
- Floating toolbar - Context-sensitive formatting when text is selected
- Create multiple notebooks to organize notes by topic or project
- Search notes within a notebook
- Move notes between notebooks
- Clean, distraction-free interface
Chat with an intelligent assistant that understands your notes:
- Context-aware responses - Uses RAG (Retrieval-Augmented Generation) to search your note library
- Note creation - Ask the assistant to create and manage notes from conversations
- Streaming responses - Real-time response streaming for a fluid experience
- Configurable context - Control how many relevant notes are included (0-10)
- HTML export - Self-contained documents with embedded styles and images
- PDF export - Convert notes to PDF format
- Print support - Optimized CSS for printing
- Dark/Light mode - Switch between themes with a single click
- Minimalist design - Clean, monochromatic UI with warm tones
- Resizable sidebars - Customize your workspace layout
- .NET 10 SDK
- Windows 10/11 (Windows 10.0.19041.0 or later)
-
Clone the repository:
git clone https://github.com/spflugi/nouz-megatron.git cd nouz-megatron -
Install the MAUI workload:
dotnet workload install maui-desktop
-
Build and run:
dotnet build Nouz/src/Nouz/Nouz.csproj -c Release -f net10.0-windows10.0.19041.0 -p:RuntimeIdentifierOverride=win10-x64
To enable the AI assistant features:
- Open Settings in the app
- Enter your OpenAI API key
- Configure your preferred chat model (e.g., gpt-4o-mini, gpt-5)
- Optionally configure the embedding model for semantic search
Nouz follows clean architecture principles with strict layer separation:
Nouz (Main MAUI App) - Blazor UI components
├── Nouz.Application - Commands, handlers, state management
├── Nouz.Domain - Entities, repository interfaces
├── Nouz.Infrastructure - EF Core/SQLite, OpenAI integration
└── Nouz.ReduxSimple - Custom Redux state management
| Category | Technologies |
|---|---|
| Frontend | .NET MAUI, Blazor WebView, Radzen.Blazor |
| State Management | Custom Redux-like pattern with System.Reactive |
| Database | Entity Framework Core, SQLite |
| AI | OpenAI API, Microsoft Semantic Kernel |
| Testing | xUnit, NSubstitute, Shouldly, NetArchTest |
# Build entire solution
dotnet build Nouz/Nouz.slnx
# Build main app (Release)
dotnet build Nouz/src/Nouz/Nouz.csproj -c Release -f net10.0-windows10.0.19041.0 -p:RuntimeIdentifierOverride=win10-x64
# Run all tests
dotnet test Nouz/Nouz.slnx
# Run specific test project
dotnet test Nouz/test/Nouz.Application.Unit.Tests
dotnet test Nouz/test/Nouz.Infrastructure.Unit.Tests
dotnet test Nouz/test/Nouz.Architecture.Tests
# Run single test by name
dotnet test Nouz/Nouz.slnx --filter "FullyQualifiedName~YourTestName"Nouz/
├── src/
│ ├── Nouz/ # Main MAUI application
│ │ └── Components/ # Blazor UI components
│ ├── Nouz.Application/ # Business logic, CQRS handlers
│ ├── Nouz.Domain/ # Core entities and interfaces
│ ├── Nouz.Infrastructure/ # Data access, external services
│ └── Nouz.ReduxSimple/ # State management library
├── test/
│ ├── Nouz.Application.Unit.Tests/
│ ├── Nouz.Infrastructure.Unit.Tests/
│ └── Nouz.Architecture.Tests/
└── Nouz.slnx # Solution file
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project was developed with the assistance of Claude Code, Anthropic's AI-powered coding assistant.
This project is licensed under the MIT License - see the LICENSE file for details.
