Skip to content
CAI
Software that uses CAICheck a score

Strypper/mauisland

38.2

Weak · 21 September 2026

40k

lines of production code

C#

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

MAUIsland is a cross-platform .NET MAUI application that serves as an interactive showcase for UI controls, layouts, and third-party components. It provides a comprehensive gallery of built-in, Material, Syncfusion, and Community Toolkit controls, each accompanied by code samples and documentation. The system integrates external services to display GitHub repository data, local database caching for issues, and live news feeds. Additionally, it includes features for chat, resume templates, and device mockup previews, all structured within a modular architecture supporting Windows, Android, iOS, and MacCatalyst.

Features

Add Octokit-based GitHub API client implementation

Users can now retrieve GitHub user profiles, latest repository releases, and detailed issue data through a new Octokit-based client. This implementation maps GitHub API responses to internal models for authors, releases, and issues, handling both successful data retrieval and error conditions.

src/Features/GitHubFeatures/MAUIsland.GitHubFeatures/Implementations · high confidence

Add ResumesTemplate page components

Introduced new UI and view-model files for the ResumesTemplate feature, including the ResumesPage and ResumeDetailPage (with their respective XAML, code-behind, and view-models). The ResumeDetailPage integrates a BlazorWebView to render a .NET-based resume template, while the ResumesPage provides a navigation entry point to the detail view.

src/Presentations/Windows/Features/ResumesTemplate/Pages · high confidence

Add Settings page to display app and framework versions

A new Settings page has been added to the Windows presentation layer, featuring a UI that displays the application version, the .NET MAUI version, and links to the source code and license. The implementation includes the XAML view, the code-behind, and a ViewModel that retrieves version information and handles user interactions such as opening URLs and uploading avatars.

src/Presentations/Windows/Features/Settings · high confidence

New helper components have been added to the built-in gallery to demonstrate .NET MAUI features. The AppSettingsJson helper provides a ViewModel and model classes that show how to load and bind configuration from appsettings.json using the built-in configuration system. The Popup helper introduces an IDialogService abstraction and a corresponding ViewModel that demonstrates displaying alerts, action sheets, and prompts via the Page class, while also showing how to trigger these dialogs from the view model rather than code-behind.

src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/Helpers · high confidence

Add mockup preview and device selection interface

The mockup feature now provides a complete UI for managing device previews. Users can select from a list of devices (iPhone 13 Mini, Samsung Galaxy S22 Ultra, Google Pixel 6 Pro, Google Pixel 5, and Apple iPhone 15 Pro Max) and view screenshots in a scrollable preview area. The interface includes a drag-and-drop zone for adding images, a delete button for individual screenshots, and a 'Remove All' option. The page also features a tabbed layout for switching between device lists and showcase information, with an export function to save the final mockup.

src/Presentations/Windows/Features/Mockup · high confidence

Add new Showcases page to display community .NET MAUI apps

A new ShowcasesPage has been introduced to the application, providing a dedicated interface for browsing community-built .NET MAUI applications. The page features a responsive layout that adjusts the number of columns based on window width, and supports mockup frames for various devices (e.g., iPhone 13 Mini, Samsung Galaxy S22 Ultra). It displays app details including GitHub repository links, author information, and platform compatibility icons.

src/Presentations/Windows/Features/Showcases · high confidence

Added Blazor-based resume template with interactive navigation and scrolling

A new resume template presentation layer has been introduced for the Windows/Blazor environment, featuring a single-page layout with smooth-scrolling navigation between sections (Home, History, Services, Contact). The implementation includes a Razor component (DotNetTemplate.razor) that binds to a ResumeDetailPageViewModel, handling page index updates and work history selection changes to trigger JavaScript-assisted scrolling. The model WorkHistoryModel was also added to support the history section data binding.

src/Presentations/Windows/Features/ResumesTemplate/Blazor · medium confidence

Added new files to the Material gallery pages, including the \MaterialComponentEvent\ and \MaterialComponentProperty\ models, along with \\*ControlInfo\ and \\*PageViewModel\ classes for Button, Chip, ComboBox, ContextMenu, FAB, ProgressIndicator, RadioButton, Switch, and TextField controls. These changes provide the data structures and view models required to display and interact with these specific UI components in the gallery.

src/Core/MAUIsland.Core/Features/Gallery/Pages/Material · high confidence

The gallery now includes new pages for the Syncfusion controls: AvatarView, BadgeView, BarcodeGenerator, BusyIndicator, and CartesianChart (with sub-pages for annotations, appearance, and series). Each control has a corresponding ViewModel and ControlInfo class, providing users with interactive examples and documentation links for these UI components.

src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion · high confidence

Added layout control info and viewmodels for AbsoluteLayout, Grid, HorizontalStackLayout, and StackLayout

The gallery's built-in layout sections now include complete metadata and presentation logic for AbsoluteLayout, Grid, HorizontalStackLayout, and StackLayout. Each layout type has a corresponding ControlInfo class providing details, documentation links, and GitHub issue tracking, alongside a PageViewModel containing XAML and C\# code samples for common usage patterns such as spacing, alignment, and nesting. This change consolidates these layout controls into the core project, making them available in the UI gallery for users to explore and learn from.

src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/Layouts · high confidence

The built-in controls gallery now includes new pages and view models for ActivityIndicator, BlazorWebView, Border, Button, CarouselView, CheckBox, and CollectionView. Each control is accompanied by its corresponding ControlInfo and PageViewModel, providing examples and documentation links. The CarouselView implementation adds a data template selector for conditional rendering. The CollectionView page introduces swipe-to-reveal functionality and enhanced selection tracking.

src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/Controls · high confidence

Introduce GitHub integration service

Added a new GitHub feature module that provides a service for retrieving repository details, latest releases, author information, and GitHub issues (including filtering by labels). The module includes the service interface, a settings class for the access token, and a DI registration extension.

src/Features/GitHubFeatures/MAUIsland.GitHubFeatures · high confidence

Introduce Home page with activity feed, charts, and mockup showcases

A new Home page is introduced, featuring a horizontal scrollable feed of application news and updates (e.g., Community Toolkit, Repository Cache, Material Components) displayed via the \ControlActivityCardContentView\ component. The page also integrates a GitHub open issues chart, displays issue counts by platform, and presents a showcase section for .NET MAUI designs using device mockups. Supporting models (\ApplicationNew\, \BookItem\, \UIItem\), converters, and the \HomeService\ for data retrieval are added to the Home feature.

src/Presentations/Windows/Features/Home · high confidence

Introduce News feature with service and model layer

Added a new News feature containing the INewsService interface, an ImplVersion1 implementation that fetches news from an RSS feed, and supporting models (MAUINewsModel, NewsBaseModel, ServiceSuccess, ServiceError) along with a service registration extension. This provides the backend service layer for retrieving and displaying news content.

src/Features/NewsFeatures · high confidence

Introduce NuGet package search capability

A new NuGet feature was added to the application, allowing users to search for packages by name via the \GetNuGetByName\ method. This feature includes a \Version1\ implementation that queries the NuGet API, supported by \ServiceSuccess\ and \ServiceError\ models, and is registered in the dependency injection container.

src/Features/NuGetFeatures · high confidence

Introduce chat feature with responsive layouts and authentication

Users can now access a new Chat feature within the application. This includes a ChatPage that adapts to Phone, Tablet, and Desktop screen sizes, each with a dedicated layout. The feature includes an AuthenticatePopup for logging in or signing up, utilizing Refit-based services for authentication and conversation management. The UI displays chat messages in a scrollable list, with a text entry and send button for new messages. The implementation adds models for user and chat data, view models for state management, and content views for the chat bubbles and forms.

src/Presentations/Windows/Features/Gallery · high confidence

Introduce local database storage for GitHub issues

The application now supports storing GitHub issue data locally using SQLite. This change adds a new \LocalDbFeatures\ module that includes a \GitHubIssueLocalDbModel\ to map issue details (such as title, status, and labels) to a local database table. A generic \SQLitePCLRawService\ and its corresponding interface \ILocalDbService\ provide the underlying data access layer, while a specific \GitHubIssueLocalDbService\ implements this interface to handle GitHub-specific queries. The feature is registered via dependency injection, enabling the app to cache and retrieve GitHub issues from a local database.

src/Features/LocalDbFeatures · high confidence

Introduces Blazor hybrid layout, routing, and imports for the Windows presentation layer

Added new Blazor components that define the main application layout, client-side routing, and global imports. MainLayout.razor and its CSS provide the structural shell with a sidebar navigation and conditional header, while Routes.razor configures the Blazor Router with the MainLayout as the default layout and handles 404 states. \_Imports.razor establishes the shared namespace and component references for the BlazorWebView integration.

src/Presentations/Windows/Blazor · high confidence

New GitHub data models for issue tracking and repository details

Added new model classes to represent GitHub entities, including GitHubAuthorModel, GitHubBaseModel, GitHubIssueModel, GitHubLabelModel, GitHubMilestoneModel, GitHubRepositoryModel, and GitHubRepositoryReleaseModel, along with ServiceError and ServiceSuccess records. These models provide the data structures required to display GitHub issue details, repository information, and service responses within the application.

src/Features/GitHubFeatures/MAUIsland.GitHubFeatures/Models · high confidence

The core library now includes a new set of UI components and supporting types to display controls in the gallery. This adds \BrandIconContentView\, \ControlCardContentView\, \MaterialUICardContentView\, and \SyncfusionCardContentView\ to render different card styles. These views are backed by new interfaces (\IGalleryCardInfo\, \IBuiltInGalleryCardInfo\, etc.) and model classes (\ControlGroupInfo\, \ControlIssueModel\, \PlatformInfo\) that define the data structure for each card. Additionally, a \SampleScaleAnimation\ and several value converters (e.g., \DateTimeToSimpleDateTimeStringConverter\, \StringToColorConverter\) are introduced to support the new gallery UI.

src/Core · high confidence

Added a new BrandCardTemplateSelector that routes gallery items to specific data templates (BuiltIn, GitHub, Material UI, Syncfusion) based on their group. Introduced several new enums to support this: GalleryCardType (Control, Converter, Layout, etc.), GalleryCardStatus (Completed, NotCompleted), BuiltInGalleryCardStatus (All, Stable, Buggy, etc.), and ControlGroupInfoImportantLevel (Info, Warning, Error).

src/Core/MAUIsland.Core/Features/Gallery/DataTemplateSelectors, src/Core/MAUIsland.Core/Features/Gallery/Enums · high confidence

Project initialization with core infrastructure and documentation

The repository is initialized with essential project scaffolding and documentation. A \CODE\_OF\_CONDUCT.md\ file establishes community guidelines, while a \LICENSE\ file (MIT) defines usage rights. The \README.md\ provides an overview of the MAUIsland application, including installation steps and feature highlights. A \build.cake\ script is added to automate the generation of control page templates for the gallery. The \maui-island.sln\ solution file defines the project structure, including Core, Features, and Presentation layers. Additionally, \.gitignore\ is updated to exclude local configuration files like \appsettings.Development.json\ and generated code.

(repo-wide) · high confidence

Updated app icon assets

The application's app icon has been updated to a new SVG design. The new icon features a black background with a patterned overlay, replacing the previous version. This change affects the visual identity of the app across Windows and other platforms that utilize these resources.

src/Presentations/Windows/Resources · high confidence

Windows platform adds native window backdrops and updates app manifest

Introduced AcrylicWindow and MicaWindow classes that apply Windows 10/11 system backdrop effects (Acrylic and Mica) to the application's main window, enhancing the native look and feel. Additionally, the Windows app manifest was updated to include toast notification activation, COM server extensions, and internet client capabilities, while also updating the package identity and display name.

src/Presentations/Windows/Platforms · high confidence

Architecture

Moved toolkit control info and viewmodels to the core project

The \BaseToolkitPageControlViewModel\ and the \\*ControlInfo\ and \\*PageViewModel\ classes for the AvatarView, DrawingView, Expander, MediaElement, BoolToObjectConverter, and ByteArrayToImageSourceConverter have been moved from the presentation layer into the \MAUIsland.Core\ project. This refactoring consolidates the core logic and metadata for these Community Toolkit controls, making them available for use across different parts of the application without depending on the UI layer.

src/Core/MAUIsland.Core/Features/Gallery/Pages/Toolkit · high confidence

Behavioural changes

Added Blazor Hybrid UI styling and layout

The Windows presentation layer now includes dedicated CSS for the Blazor Hybrid environment. This adds Bootstrap 5.1.0 styles alongside custom overrides for form validation, buttons, and error UI, ensuring the application renders correctly within the native Windows host.

src/Presentations/Windows/wwwroot · high confidence

The base view model for built-in gallery pages has been refactored to include direct integration with Discord RPC and GitHub services. The new BaseBuiltInPageControlViewModel manages state for control information, GitHub issues, and local database synchronization, enabling features like displaying GitHub issues for controls and updating local caches with remote data.

src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn · medium confidence

Removed legacy MAUIsland scaffolding and UI components

The MAUIsland project has been stripped of its default application structure and custom UI elements. This includes the deletion of the main shell and content pages (AppShell, MainPage), platform-specific entry points and manifests (Android, iOS, MacCatalyst, Tizen), and the removal of all custom UI controls (BreedLabel, HorizontalIconButton, IconLabel) and animation helpers (AnimationBase, EasingType, EasingHelper). These files are no longer part of the application.

MAUIsland · high confidence

Restructured Windows presentation layer with new shell and window configuration

The Windows presentation layer has been reorganized into the src/Presentations/Windows directory, introducing a new AppShell for navigation and a dedicated MAUIslandWindow to host the application UI. This change centralizes routing logic in AppRoutes, configures the app shell with home, gallery, showcases, and settings pages, and updates the application startup to use the new window structure. Additionally, the App class now explicitly creates the MAUIslandWindow, and global usings and configuration files (Web.config) have been added or updated to support the new structure.

src/Presentations/Windows · medium confidence

Test coverage

Added integration tests for the GitHub service

Added integration tests for the GitHub service, covering repository retrieval, latest release fetching, author details, and GitHub issues (including filtering by labels and by issue number).

src/Features/GitHubFeatures/MAUIsland.GitHubFeatures.IntegrationTests · high confidence

Dependencies

Upgrade to .NET 9 and update core dependencies

The core project has been migrated to target .NET 9.0 across Android, iOS, MacCatalyst, and Windows platforms. Key dependencies have been updated to their latest versions, including CommunityToolkit.Maui 9.1.1, Microsoft.Maui.Controls 9.0.10, and Syncfusion MAUI controls 27.2.2. Additionally, the project structure has been reorganized to support a new core library, with feature-specific projects like GitHubFeatures and NewsFeatures now referencing the updated core.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 40 → 38 (-1.7)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 60 → 51 (-8.7)
  • Architecture 87 → 87 (+0.0)
  • Maturity 49 → 49 (-0.1)
  • Readiness 32 → 30 (-1.7)
  • Security 45 → 43 (-1.5)
  • Accessibility 42 → 41 (-1.0)

Resolved (21)

  • Build status unknown
  • Change coupling: AcrylicViewControlInfo.cs ↔ ZXingNetMauiControlInfo.cs (src/Core/MAUIsland.Core/Features/Gallery/Pages/Community/Controls/AcrylicView/AcrylicViewControlInfo.cs)
  • Change coupling: AppShell.xaml.cs ↔ MauiProgram.cs (src/Presentations/Windows/AppShell.xaml.cs)
  • Change coupling: LiveCharts2ControlInfo.cs ↔ OverFlowerControlInfo.cs (src/Core/MAUIsland.Core/Features/Gallery/Pages/Community/Controls/LiveCharts2/LiveCharts2ControlInfo.cs)
  • Coverage not measured
  • Duplicated block (11 lines × 3) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/Controls/Label/LabelPageViewModel.cs)
  • Duplicated block (14 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/BaseBuiltInPageControlViewModel.cs)
  • Duplicated block (14 lines × 2) (src/Presentations/Windows/Platforms/Windows/AcrylicWindow.cs)
  • Duplicated block (16 lines × 4) (src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion/SfCartesianChart/ContentView/Chart/Area/SfCartesianChartRangeArea.xaml.cs)
  • Duplicated block (17 lines × 2) (src/Presentations/Windows/Platforms/Windows/AcrylicWindow.cs)
  • Duplicated block (28 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/BaseBuiltInPageControlViewModel.cs)
  • Duplicated block (31 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/BaseBuiltInPageControlViewModel.cs)
  • Duplicated block (5 lines × 2) (src/Presentations/Windows/Features/Home/Pages/HomePageViewModel.cs)
  • Duplicated block (65 lines × 2) (src/Presentations/Windows/Features/Home/Pages/HomePageViewModel.cs)
  • Duplicated block (7 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion/SfComboBox/SfComboBoxPageViewModel.cs)
  • Duplicated block (7 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion/SfDataGrid/SfDataGridPageViewModel.cs)
  • Duplicated block (8 lines × 5) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/Controls/Label/LabelPageViewModel.cs)
  • No exposed public API
  • Off-boarding risk: anonymized user #1
  • redundant comment (src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion/SfCartesianChart/ContentView/Annotation/SfCartesianChartAnnotation.xaml.cs)
  • …and 1 more

New (63)

  • CommentedOutCode (src/Core/MAUIsland.Core/Features/Gallery/Pages/Toolkit/Helpers/ObservableProperty/ObservablePropertyPageViewModel.cs)
  • CommentedOutCode (src/Presentations/Windows/Features/Chat/Models/Refits/Responses/RefitUserInfoResponseModel.cs)
  • CoverageExclusion (src/Core/MAUIsland.Core/Utils/Navigation/AppNavigator.cs)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (10 lines × 2) (src/Presentations/Windows/Platforms/Windows/AcrylicWindow.cs)
  • Duplicated block (106 lines × 3) (src/Core/MAUIsland.Core/Views/ContentViews/MockUps/GooglePixel5ContentView.xaml.cs)
  • Duplicated block (10–12 lines × 3) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/BaseBuiltInPageControlViewModel.cs)
  • Duplicated block (11 lines × 3) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/Controls/Label/LabelPageViewModel.cs)
  • Duplicated block (120 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/Controls/MenuBar/MenuBarPageViewModel.cs)
  • Duplicated block (13 lines × 2) (src/Features/GitHubFeatures/MAUIsland.GitHubFeatures/Constants.cs)
  • Duplicated block (13 lines × 2) (src/Presentations/Windows/Features/Chat/Popups/AuthenticatePopupViewModel.cs)
  • Duplicated block (13 lines × 3) (src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion/SfCartesianChart/ContentView/Chart/Column/Bar/SfCartesianChartStackingBar.xaml.cs)
  • Duplicated block (14 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/DataTemplateSelectors/BrandCardTemplateSelector.cs)
  • Duplicated block (17 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/BaseBuiltInPageControlViewModel.cs)
  • Duplicated block (17 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion/SfCartesianChart/ContentView/Selection/SfCartesianChartSelection.xaml.cs)
  • Duplicated block (20 lines × 4) (src/Core/MAUIsland.Core/Features/Gallery/Pages/Syncfusion/SfCartesianChart/ContentView/Chart/Area/SfCartesianChartRangeArea.xaml.cs)
  • Duplicated block (22 lines × 2) (src/Presentations/Windows/Platforms/Windows/AcrylicWindow.cs)
  • Duplicated block (34 lines × 2) (src/Presentations/Windows/Platforms/Windows/AcrylicWindow.cs)
  • Duplicated block (35 lines × 2) (src/Core/MAUIsland.Core/Features/Gallery/Pages/BuiltIn/BaseBuiltInPageControlViewModel.cs)
  • …and 43 more

Architecture

  • Unchanged — 1 containers · 0 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Strypper/mauisland was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 9ef8848c738fe7f810842d171120a6bf4bc3097f — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.