KameshEas/maumind

maumind

C#

0

27 commits

updated Aug 15, 2026

See the code

README

MauMind - Offline-First Local RAG Assistant

MauMind Logo

A privacy-centric cross-platform application built with .NET MAUI that leverages on-device AI to create a personal knowledge assistant. The app implements a Retrieval-Augmented Generation (RAG) pipeline entirely on the edge.

πŸ“± Features

  • πŸ”’ Privacy-First: All data stays on your device - no cloud, no tracking
  • πŸ€– AI-Powered: Ask questions about your documents using local AI
  • πŸ“„ Document Management: Add notes, daily logs, and import PDFs
  • ⚑ Offline: Works completely offline with on-device AI models
  • 🎨 Modern UI: Beautiful Material Design with full dark/light theme support
  • 🌐 Web Search: Privacy-first web search via DuckDuckGo integration
  • β™Ώ Accessible: Full screen reader support with semantic labels
  • πŸ“± Responsive: Optimized layouts for phones and tablets
  • πŸ“– Onboarding: First-launch tutorial for new users

πŸ› οΈ Tech Stack

  • .NET 10.0 MAUI - Cross-platform framework
  • C# - Programming language
  • Refit - Type-safe HTTP client (Firebase, DuckDuckGo)
  • Microsoft Semantic Kernel - AI orchestration
  • ONNX Runtime - On-device AI inference
  • SQLite - Local database with vector storage
  • Phi-3 Mini - Small Language Model (SLM)
  • CommunityToolkit.MVVM - MVVM pattern support
  • DuckDuckGo API - Privacy-first web search integration

πŸš€ Getting Started

Prerequisites

  • .NET 10.0 SDK (or later)
  • Visual Studio 2022 (17.8+) or VS Code
  • Android SDK with API 21+ (for Android builds)
  • MAUI workload installed: dotnet workload install maui-android
  • Xcode 15+ (for iOS builds - optional, currently deferred)

Installation

# Install MAUI workload for Android
dotnet workload install maui-android

# Restore dependencies
dotnet restore

Build

# Build for Android (currently active)
dotnet build -c Release -f net10.0-android

# Publish for Android
dotnet publish -c Release -f net10.0-android

Run (Development)

# Run on Android emulator/device
dotnet run -f net10.0-android

πŸ“¦ GitLab CI/CD

The project includes a GitLab CI/CD pipeline (.gitlab-ci.yml) that:

  1. Builds the Android APK on every commit
  2. Releases to GitLab artifacts on tags
  3. Pushes to Indus App Store (configurable)

CI/CD Variables

Configure these in your GitLab project settings:

VariableDescription
INDUS_API_URLIndus App Store upload endpoint
INDUS_API_TOKENAuthentication token for Indus API
KEYSTORE_PASSWORDAndroid keystore password
GITLAB_TOKENGitLab API token for releases

Pipeline Stages

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Build   │────▢│ Release β”‚
β”‚ Android  β”‚     β”‚  Store  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Usage

  1. Automatic builds: Push to main branch triggers build
  2. Release: Create a tag to trigger release:
    git tag v1.0.0
    git push origin v1.0.0
    

πŸ“ Project Structure

MauMind.App/
β”œβ”€β”€ Models/              # Data models (Document, Folder, ChatMessage, etc.)
β”œβ”€β”€ ViewModels/          # MVVM ViewModels (ChatViewModel, DocumentsViewModel, etc.)
β”œβ”€β”€ Views/               # MAUI Pages (ChatPage, DocumentsPage, SettingsPage, etc.)
β”œβ”€β”€ Controls/            # Reusable UI components (ChatBubbleView, DocumentCardView)
β”œβ”€β”€ Services/            # Business logic layer
β”‚   β”œβ”€β”€ *Api.cs          # Refit HTTP interfaces
β”‚   β”œβ”€β”€ *Service.cs      # Core services (Chat, Web Search, Model Management)
β”‚   └── *Manager.cs      # Data management (ModelManager)
β”œβ”€β”€ Data/                # Database context & operations
β”œβ”€β”€ Resources/           # Assets, styles, color resources
β”‚   └── Styles/          # XAML style definitions (theme-aware)
β”œβ”€β”€ Platforms/           # Platform-specific code
β”‚   └── Android/         # Android platform head (MainActivity, etc.)
└── MauiProgram.cs       # DI container & MAUI configuration

Key Architectural Patterns

  • MVVM with CommunityToolkit.MVVM
  • Dependency Injection via Microsoft.Extensions.DependencyInjection
  • Type-safe HTTP via Refit
  • Theme-aware UI with AppThemeBinding and centralized Colors.xaml
  • Reusable Controls with BindableProperties for data binding
  • Accessibility-first with SemanticProperties labels

πŸ“„ License

MIT License - See LICENSE file for details.

πŸ™ Acknowledgments

  • Microsoft Semantic Kernel
  • ONNX Runtime
  • Phi-3 Mini Model
  • .NET MAUI Community

KameshEas/maumind

maumind

C#

0

27 commits

updated Aug 15, 2026

See the code

README

MauMind - Offline-First Local RAG Assistant

MauMind Logo

A privacy-centric cross-platform application built with .NET MAUI that leverages on-device AI to create a personal knowledge assistant. The app implements a Retrieval-Augmented Generation (RAG) pipeline entirely on the edge.

πŸ“± Features

  • πŸ”’ Privacy-First: All data stays on your device - no cloud, no tracking
  • πŸ€– AI-Powered: Ask questions about your documents using local AI
  • πŸ“„ Document Management: Add notes, daily logs, and import PDFs
  • ⚑ Offline: Works completely offline with on-device AI models
  • 🎨 Modern UI: Beautiful Material Design with full dark/light theme support
  • 🌐 Web Search: Privacy-first web search via DuckDuckGo integration
  • β™Ώ Accessible: Full screen reader support with semantic labels
  • πŸ“± Responsive: Optimized layouts for phones and tablets
  • πŸ“– Onboarding: First-launch tutorial for new users

πŸ› οΈ Tech Stack

  • .NET 10.0 MAUI - Cross-platform framework
  • C# - Programming language
  • Refit - Type-safe HTTP client (Firebase, DuckDuckGo)
  • Microsoft Semantic Kernel - AI orchestration
  • ONNX Runtime - On-device AI inference
  • SQLite - Local database with vector storage
  • Phi-3 Mini - Small Language Model (SLM)
  • CommunityToolkit.MVVM - MVVM pattern support
  • DuckDuckGo API - Privacy-first web search integration

πŸš€ Getting Started

Prerequisites

  • .NET 10.0 SDK (or later)
  • Visual Studio 2022 (17.8+) or VS Code
  • Android SDK with API 21+ (for Android builds)
  • MAUI workload installed: dotnet workload install maui-android
  • Xcode 15+ (for iOS builds - optional, currently deferred)

Installation

# Install MAUI workload for Android
dotnet workload install maui-android

# Restore dependencies
dotnet restore

Build

# Build for Android (currently active)
dotnet build -c Release -f net10.0-android

# Publish for Android
dotnet publish -c Release -f net10.0-android

Run (Development)

# Run on Android emulator/device
dotnet run -f net10.0-android

πŸ“¦ GitLab CI/CD

The project includes a GitLab CI/CD pipeline (.gitlab-ci.yml) that:

  1. Builds the Android APK on every commit
  2. Releases to GitLab artifacts on tags
  3. Pushes to Indus App Store (configurable)

CI/CD Variables

Configure these in your GitLab project settings:

VariableDescription
INDUS_API_URLIndus App Store upload endpoint
INDUS_API_TOKENAuthentication token for Indus API
KEYSTORE_PASSWORDAndroid keystore password
GITLAB_TOKENGitLab API token for releases

Pipeline Stages

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Build   │────▢│ Release β”‚
β”‚ Android  β”‚     β”‚  Store  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Usage

  1. Automatic builds: Push to main branch triggers build
  2. Release: Create a tag to trigger release:
    git tag v1.0.0
    git push origin v1.0.0
    

πŸ“ Project Structure

MauMind.App/
β”œβ”€β”€ Models/              # Data models (Document, Folder, ChatMessage, etc.)
β”œβ”€β”€ ViewModels/          # MVVM ViewModels (ChatViewModel, DocumentsViewModel, etc.)
β”œβ”€β”€ Views/               # MAUI Pages (ChatPage, DocumentsPage, SettingsPage, etc.)
β”œβ”€β”€ Controls/            # Reusable UI components (ChatBubbleView, DocumentCardView)
β”œβ”€β”€ Services/            # Business logic layer
β”‚   β”œβ”€β”€ *Api.cs          # Refit HTTP interfaces
β”‚   β”œβ”€β”€ *Service.cs      # Core services (Chat, Web Search, Model Management)
β”‚   └── *Manager.cs      # Data management (ModelManager)
β”œβ”€β”€ Data/                # Database context & operations
β”œβ”€β”€ Resources/           # Assets, styles, color resources
β”‚   └── Styles/          # XAML style definitions (theme-aware)
β”œβ”€β”€ Platforms/           # Platform-specific code
β”‚   └── Android/         # Android platform head (MainActivity, etc.)
└── MauiProgram.cs       # DI container & MAUI configuration

Key Architectural Patterns

  • MVVM with CommunityToolkit.MVVM
  • Dependency Injection via Microsoft.Extensions.DependencyInjection
  • Type-safe HTTP via Refit
  • Theme-aware UI with AppThemeBinding and centralized Colors.xaml
  • Reusable Controls with BindableProperties for data binding
  • Accessibility-first with SemanticProperties labels

πŸ“„ License

MIT License - See LICENSE file for details.

πŸ™ Acknowledgments

  • Microsoft Semantic Kernel
  • ONNX Runtime
  • Phi-3 Mini Model
  • .NET MAUI Community

Languages

C#

98.7%

Swift

1.3%