Skip to content
CAI
Software that uses CAICheck a score

gskinnerTeam/flutter-wonderous-app

40.0

Weak · 23 September 2026

24.3k

lines of production code

Dart

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This is a cross-platform mobile and desktop application built with Flutter, designed to showcase historical wonders and their associated artifacts. The system provides interactive content browsing, deep linking, and a self-hosted image serving layer, while supporting iOS widgets, keyboard navigation, and responsive layouts across Android, iOS, macOS, Windows, and Web platforms.

Features

Add custom 404 page-not-found screen

A new PageNotFound screen has been added to the UI, providing a dedicated 404 view that displays the app logo, a localized message, and a back button. The component also conditionally displays the requested URL path on desktop platforms, improving the user experience when navigating to non-existent routes.

_lib/ui/screens/page\_not\found · high confidence

The photo gallery now supports keyboard navigation using arrow keys to move between images, with focus management ensuring the correct image is selected when focused. A new FullscreenKeyboardListener handles keydown events, and focus nodes are generated for each image to improve keyboard UX. Additionally, the fullscreen image viewer now uses XL resolution for higher quality display.

_lib/ui/screens/photo\gallery · medium confidence

Add native home widget support and refactor API logic

Introduced NativeWidgetService to enable iOS home widget updates for collectibles, allowing the app to display the last discovered wonder's title, subtitle, and image on the home screen. Renamed MetAPILogic and MetAPIService to ArtifactAPILogic and ArtifactAPIService, adding support for a self-hosted API endpoint alongside the existing MET API. Refactored WondersLogic to initialize its data list in an init method, and updated CollectiblesLogic to track discovered/explored counts and sync them to the native widget.

lib/logic · high confidence

Added artifact download and search helper tools

A new helper class, ArtifactDownloadHelper, was added to the \_tools directory to download and resize MET image and JSON files, while the existing ArtifactSearchHelper was updated to use a new file naming convention for search data and include minor formatting and logic adjustments.

_lib/\tools · high confidence

Added iOS home screen widget support

The iOS build configuration now includes a new 'WonderousWidgetExtension' target, enabling the app to support home screen widgets. This change adds the necessary framework references (WidgetKit, SwiftUI), registers the widget's Swift source files and assets in the Xcode project, and configures the app extension to embed the widget. Users will be able to add and interact with the app's widget on their iOS home screen.

ios/Runner.xcodeproj · high confidence

Added macOS Flutter build configuration and plugin registration

The macOS build configuration was updated to include the standard Flutter xcconfig files (Flutter-Debug.xcconfig and Flutter-Release.xcconfig) which reference the generated Flutter configuration and the Pods support files. Additionally, a new GeneratedPluginRegistrant.swift file was added to the macos/Flutter directory, which registers several native plugins including connectivity\_plus, desktop\_window, package\_info\_plus, path\_provider\_foundation, shared\_preferences\_foundation, url\_launcher\_macos, and webview\_flutter\_wkwebview.

macos/Flutter · high confidence

New iOS home screen widget for tracking collected artifacts

A new iOS home screen widget has been added to the Wonderous app, allowing users to view their last collected item's title, subtitle, and a progress gauge on their home screen. The widget displays a background image and supports deep links to the app's collections view. It is compatible with iOS 17's new containerBackground API while maintaining support for earlier iOS versions.

ios/WonderousWidget · high confidence

Support vertical navigation rail and deep-linking to specific tabs on the Wonder Details screen

The Wonder Details screen now supports a vertical navigation rail layout alongside the existing horizontal tab bar, with the active tab determined by a new \tabIndex\ parameter that enables deep-linking to specific tabs. The tab menu dynamically sizes its buttons based on available space and respects safe area padding, while the screen passes the tab index to the tab controller to ensure the correct content is displayed on load.

_lib/ui/screens/wonder\details · high confidence

Windows desktop support added

The application now includes the necessary CMake configuration, build scripts, and native C++ runner files to build and run on Windows. This enables users to install and use the app on Windows desktops, with support for plugins like connectivity\_plus, desktop\_window, and url\_launcher\_windows.

windows · high confidence

macOS app template and configuration files added

The macOS build configuration is now fully defined with new template files: an AppDelegate and MainFlutterWindow implementation, Info.plist containing the public.app-category.education category and FLTEnableImpeller flag, and separate entitlements for debug/profile and release builds.

macos/Runner · high confidence

Behavioural changes

The \_AnimatedCutoutOverlay widget now accepts an 'enabled' boolean parameter. When 'enabled' is false, the overlay is bypassed entirely, allowing the underlying child widget to be interactive. This change also updates the opacity application to use the modern 'withValues' API and refactors the cutout animation to use a modern 'Animate' widget with explicit effect configuration.

_lib/ui/screens/photo\gallery/widgets · high confidence

Adds keyboard navigation and accessibility improvements for desktop and web

Users can now navigate the app using keyboard shortcuts on desktop and web platforms. This includes unified shortcuts for activation, dismissal, and focus traversal, as well as full support for arrow keys and page-up/page-down for scrolling. A new FullscreenKeyboardListener and KeyboardArrowsListener components enable global keyboard handling, while specific widgets like CollectibleItem and HiddenCollectible now support focus nodes for improved keyboard UX. Additionally, the app now supports mouse wheel scrolling for previous/next navigation and drag-to-scroll on desktop.

lib/ui/common · high confidence

App scaffold now adapts to device size and accessibility settings

The app's root scaffold now listens to the device's media query to update the global AppStyle with the current screen size, animation preferences, and high-contrast mode. This allows the application to dynamically adjust its styling and layout based on the user's device size and accessibility settings, ensuring a more responsive and inclusive experience.

lib/ui · high confidence

Artifact details screen adapts layout for landscape mode and modernizes UI components

The artifact details screen now displays a horizontal, side-by-side layout when in landscape (hz) mode, showing the artifact image and information column side-by-side, while retaining the original vertical scrollable layout in portrait mode. The error state is now wrapped in an animation utility for consistent fade-in effects. The back button is replaced with a standardized AppHeader widget, and the data fetching logic is updated to use the new artifactLogic service.

_lib/ui/screens/artifact/artifact\details · medium confidence

Artifact details screen adapts to smaller viewports

The artifact details page now reflows its layout for narrow screens. The header image is wrapped in a Hero widget for smoother transitions and uses the self-hosted image URL. The information column is wrapped in a scrollable container and includes a Focus widget for accessibility. The info rows switch from a horizontal Row to a vertical Column when the screen width is less than 800px, stacking labels and values for better readability on smaller devices.

_lib/ui/screens/artifact/artifact\details/widgets · high confidence

Collections list now supports horizontal scrolling and maintains scroll position during orientation changes

The collections list has been refactored to support horizontal scrolling via mouse wheel and adapts its layout based on device orientation (vertical for portrait, horizontal for landscape). When switching between vertical and horizontal modes, the list preserves the user's current scroll position. Additionally, the footer's progress bar animation has been updated to use a new animation utility, and the reset button is now conditionally hidden in release builds.

lib/ui/screens/collection/widgets · medium confidence

Enable deep linking and expand supported device orientations

The iOS app now supports deep linking, allowing external links to open specific content within the app. Additionally, the app has been updated to support landscape orientations (left and right) on all devices, and the entitlements have been updated to include application groups for widget support.

ios/Runner · high confidence

Enhanced Wonder Events screen with scroll retention and dark mode

The Wonder Events screen now retains its scroll position when navigating away and back, and supports a dark mode theme. The events list widget has been refactored to use a FocusTraversalGroup, and the timeline button now uses the router's go method. Additionally, the top content widget was renamed and updated to support a configurable height, and the events list now includes a gradient overlay and a hidden collectible element.

_lib/ui/screens/wonder\events/widgets · high confidence

Enhanced header controls and accessibility improvements

The app header is now managed by a new AppHeader widget that supports titles, subtitles, and trailing content, replacing the previous SimpleHeader. Back buttons now default to using context.pop() and fall back to the home screen if the navigation stack is empty. Button controls (AppBtn, CircleBtn, BackBtn) now support focus nodes, hover states, and keyboard accessibility (Escape key for back buttons). The page indicator uses semantic labels for screen readers, and scroll decorations use a new onInit callback for controller initialization.

lib/ui/common/controls · high confidence

Expanded localization support and content corrections

The app now supports Chinese (zh) alongside English (en) for all UI strings, including new translations for privacy policy, 404 pages, and timeline events. Several English strings were corrected (e.g., 'Homer' instead of 'Home' for the Iliad/Odyssey, 'gunpowder' instead of 'gunpower', and 'paper' instead of 'fireworks' for Tang Dynasty inventions). Additionally, the 'appPageSemanticSwipe' message was updated to use 'current' instead of 'count' for better accessibility descriptions.

lib/l10n · high confidence

Images now served from self-hosted URLs

The application no longer relies on external image URLs from the Met Museum or Unsplash. Instead, \ArtifactData\ and \CollectibleData\ now generate image URLs pointing to a self-hosted domain (\wonderous.info\). This change removes hardcoded external image paths from \CollectibleData\ and \HighlightData\, replacing them with computed properties that construct URLs for small, medium, and large image variants. For Unsplash photos, the self-hosted URL generation now also accounts for desktop devices by doubling the image size when the pixel ratio is 1.5 or higher, ensuring high-resolution images on desktops and tablets.

lib/logic/data · high confidence

Improved accessibility and semantics for the artifact search time range selector

The time range selector in the Browse Artifacts view now includes proper semantic labels for screen readers, such as 'bottomScrubberSemanticTimeline' and 'rangeSelector', and uses MergeSemantics for date text. Additionally, the codebase has been updated to use the modern \withValues(alpha: ...)\ API for color opacity and migrated to \super.key\ for widget constructors.

_lib/ui/screens/artifact/artifact\_search/time\_range\selector · high confidence

Improved deep linking and routing structure

The app's navigation has been restructured to support deep links into specific tabs within the wonder details view, allowing users to jump directly to a specific section of a wonder. Additionally, the routing table now nests video, maps, and search views within the home screen to better support deep linking, and a custom 404 page is displayed for unknown routes. The splash screen logic has also been updated to handle web platforms differently.

lib · high confidence

Improved editorial screen scrolling, layout, and trackpad support

The editorial screen now supports trackpad scrolling and uses a new PopRouterOnOverScroll widget to handle navigation. The layout has been adjusted to inject content padding into the illustration for better alignment with the side navigation, and the app bar height calculation has been updated to maintain aspect ratio. Additionally, unused scroll position callbacks and pointer-down tracking have been removed in favor of a cleaner scroll handling mechanism.

lib/ui/screens/editorial · high confidence

Improved home screen navigation and swipe handling

The home screen now persists the user's selected wonder across app relaunches, and navigation between wonders uses smooth animations instead of jumping. The vertical swipe controller was refactored to properly manage animation lifecycle and dispose resources, while gesture detection was simplified by removing the redundant Semantics wrapper. Additionally, the home screen now supports trackpad scrolling and keyboard-based previous/next navigation for better accessibility and input flexibility.

lib/ui/screens/home · medium confidence

Improved illustration rendering and accessibility in the Wonder UI

The common illustration components have been refactored to improve visual consistency and accessibility. A new \IllustrationPiece\ widget standardizes the layout, animation, and hero wrapping for all wonder illustrations. The \WonderTitleText\ component now supports a \Hero\ wrapper for smoother transitions, and the title font size is dynamically scaled. Additionally, \AnimatedClouds\ and \IllustrationTexture\ have been updated to exclude images from semantics, preventing unnecessary screen reader announcements, while cloud animations now use a configurable size and duration utility for smoother, more consistent motion.

_lib/ui/wonder\illustrations/common · high confidence

Improved search experience with keyboard dismissal and layout fixes

The search interface now closes the on-screen keyboard when the user scrolls through search results, preventing the keyboard from obstructing the view. The search input field is now constrained to a maximum width of 400px, ensuring it does not stretch excessively on wider screens. Additionally, the search suggestions dropdown is configured to close when the user taps outside the suggestion area, improving usability. The results grid also adapts its column count based on screen width, and the search tile images have been updated to use smaller image URLs.

_lib/ui/screens/artifact/artifact\search/widgets · high confidence

Intro screen navigation and layout updated

The intro screen now uses a PreviousNextNavigation component to handle page transitions, replacing the previous swipe-only or button-based navigation. The screen layout has been updated to support small mode for devices with a height less than 550px, adjusting image and text heights accordingly. Additionally, the implementation now includes logic to prevent the 'complete' action from triggering on intermediate pages, ensuring users must reach the final page to finish onboarding.

lib/ui/screens/intro · high confidence

Modernized fullscreen viewers with keyboard support and updated dependencies

Users can now navigate fullscreen image and video viewers using keyboard controls (arrow keys, spacebar, enter). The fullscreen image viewer adds visible next/previous navigation buttons and improved keyboard focus management. The fullscreen video viewer now supports keyboard play/pause and uses a non-cookie YouTube player for better privacy. The fullscreen web view has been migrated from flutter\_inappwebview to webview\_flutter. Additionally, the app modals have been refactored to use a consistent header widget and modernized constructor syntax.

lib/ui/common/modals · high confidence

Platform detection, image loading, and animation utilities updated

PlatformInfo now correctly returns false for isMobile and isDesktop on the web, and uses the singleton instance for InternetConnectionChecker. The RetryImage widget replaces the deprecated ImageProvider.load/loadBuffer methods with the new loadImage(key, decode) signature. A new animate\_utils module introduces a MaybeAnimate extension and a NeverAnimate widget to conditionally apply animations. ColorUtils.blend is refactored to use the Color.r/g/b properties. StringUtils.formatYr is simplified to use $strings.yearFormat directly. The Throttler is fixed to prevent calling the same action twice. HTTP client response body is decoded as UTF-8, and debug logs are suppressed on the web.

lib/logic/common · high confidence

Polished editorial screen layout and animations

The editorial screen received a visual and structural polish. The app bar image now features a fade-in animation and is wrapped in a CenteredBox for consistent width. The pull quote section was restructured to use a fixed font size and a new CenteredBox wrapper, while the sliding image stack was updated to use a new GradientContainer widget for better raster performance. Additionally, the title text section was refactored to use StaticTextScale and a new CenteredBox, and the top illustration was updated to accept a foreground offset parameter.

lib/ui/screens/editorial/widgets · medium confidence

Redesign of home menu layout and about dialog behavior

The home menu has been redesigned with a centered, scrollable layout that uses a new \ExpandedScrollingColumn\ and standardized \AppHeader\ for consistent navigation. Links in the about dialog now open externally on web and desktop platforms, while the menu grid and bottom buttons feature new animation effects and improved spacing.

_lib/ui/screens/home\menu · high confidence

The artifact carousel screen has been redesigned to support nested artifacts, allowing users to navigate deeper into content without leaving the carousel context. The layout now dynamically calculates item dimensions based on the available screen height, and the implementation has been refactored to use a ValueListenableBuilder for state management instead of an AnimatedBuilder, improving performance and accessibility.

_lib/ui/screens/artifact/artifact\carousel · medium confidence

The artifact carousel has been refactored to use a new collapsing layout where items scale and translate based on their position relative to the center. The previous \\_CarouselItem\ implementation was replaced with \\_CollapsingCarouselItem\ and \\_BottomTextContent\ widgets, introducing animated transitions, a bottom-aligned page indicator, and an overlap mode for small screens. The blurred background component was also updated to use the modern \withValues\ API for opacity.

_lib/ui/screens/artifact/artifact\carousel/widgets · high confidence

Redesigns the collectible found screen with responsive layout and new UI components

The collectible found screen has been redesigned to support a 'small mode' for shorter viewports, introducing a more structured layout with a header, centered content box, and a close button overlay. The change replaces the previous gradient background with an AppBackdrop and adds a PopNavigatorUnderlay for navigation. It also updates animation handling to use the new animate\_utils and duration\_utils, and modernizes the codebase by migrating from the deprecated .withOpacity() to .withValues(alpha: ...) for color opacity.

_lib/ui/screens/collectible\found · high confidence

Refactor dialog routing and add duration utilities

Dialogs now use CupertinoPageRoute for a consistent swipe-to-go-back experience, replacing the previous PageRouteBuilder implementation. A new duration utility extension is added to simplify animation timing, and haptic feedback logic is updated to check for web and Android specifically, with debug logging controlled by a new enableDebugLogs flag.

lib/ui/common/utils · medium confidence

Refactored collection screen layout and state management

The collection screen's UI structure was refactored to use a vertical column layout with an expanded scrollable list, replacing the previous stack-based layout. The header was replaced with a transparent AppHeader, and the state management was simplified by using direct property access (discoveredCount, exploredCount) instead of manual iteration. Additionally, the code was updated to use the new animate\_utils for duration handling and imported new components like CenteredBox and duration\_utils.

lib/ui/screens/collection · medium confidence

Refined app-wide styling and color system

The styling system was updated to support dynamic scaling based on screen size, with text and inset values now adjusting according to the device's shortest side. A new 'accent3' color was added to the palette to address existing text contrast issues, and the 'black' color constant was updated with a note to keep related files in sync. Additionally, the codebase was modernized by replacing legacy switch statements with pattern matching and introducing a color filter extension for consistent color application.

lib/styles · medium confidence

Removal of the Wallpaper Photo screen

The Wallpaper Photo screen and its associated logic have been removed from the application. This change eliminates the UI component that previously allowed users to view, share, and save wallpaper photos, as well as the underlying state management and rendering logic for that specific screen.

_lib/ui/screens/wallpaper\photo · high confidence

Restored macOS app menu and window configuration

The macOS application's main menu (MainMenu.xib) and workspace configuration have been restored to their default state, ensuring the app launches with the standard macOS menu bar (File, Edit, Find, etc.) and proper window management. This reverts the removal of the main menu structure, which had previously stripped the application of its native macOS menu items and window delegate connections.

macos/Runner.xcworkspace, macos/Runner/Base.lproj · medium confidence

Search panel state persistence and UI updates

The search screen now remembers the open/closed state of the search panel across sessions, ensuring the user's last preference is retained. Additionally, the interface has been updated to use a new \StaticTextScale\ component for status text, and the header control has been switched from \SimpleHeader\ to \AppHeader\, reflecting a broader cleanup of Flutter deprecations and style improvements.

_lib/ui/screens/artifact/artifact\search · medium confidence

Simplified accessibility label for the animated arrow button

The animated arrow button on the home screen now uses a direct string interpolation for its semantic label, replacing the previous implementation that relied on a utility method to substitute a title into the label template. This change streamlines how the button's accessibility text is generated, ensuring the screen reader announces the specific title associated with the arrow.

lib/ui/screens/home/widgets · high confidence

Standardize macOS build configuration and app metadata

The macOS build configuration has been refactored to use dedicated .xcconfig files for managing build settings. AppInfo.xcconfig now explicitly defines the application name (Wonderous), bundle identifier, and copyright notice, replacing previous methods of setting these values. Additionally, Debug.xcconfig and Release.xcconfig have been created to include Flutter-specific configurations and a shared Warnings.xcconfig file that enforces strict compiler and Clang warning flags for both debug and release builds.

macos/Runner/Configs · high confidence

Standardize wonder illustration layouts with a shared component

The individual wonder illustration widgets (Chichen Itza, Christ Redeemer, Colosseum, Great Wall, Machu Picchu, Petra, Pyramids Giza, and Taj Mahal) have been refactored to use a new \IllustrationPiece\ component, replacing the previous \WonderHero\ and manual \Transform\/\Stack\ layouts. This change unifies the rendering logic for background, middle-ground, and foreground layers across all wonders, enabling consistent responsive behavior and easier maintenance. Each illustration now passes a \wonderType\ to the \WonderIllustrationBuilder\ to support this standardized structure.

_lib/ui/wonder\illustrations · high confidence

Timeline interactions and accessibility improvements

The timeline now supports scaling with Ctrl+mouse wheel and maintains the selected year when resizing the window. Event markers are now interactive and accessible, with a new callback for marker presses. Accessibility is improved by replacing deprecated IgnorePointer with IgnorePointerKeepSemantics across widgets, and adding focus outlines and nodes for better keyboard navigation. The timeline view now caps the width of events and scrolling areas, and the era text is animated for smoother transitions.

lib/ui/screens/timeline/widgets · high confidence

Timeline screen refactored with new header and era text components

The timeline screen now uses a new AppHeader component and a dedicated \_AnimatedEraText widget to display the current era. The layout has been restructured to include a ValueListenableBuilder that updates the era text based on the scroll position, and the bottom scrubber is now wrapped in a CenteredBox for consistent horizontal alignment.

lib/ui/screens/timeline · medium confidence

Update to Flutter master channel and enable WASM support

The app now targets the Flutter master channel, enabling access to the latest features and performance improvements. This includes support for WebAssembly (WASM) on the web, allowing users to run the app locally using the \--wasm\ flag. Additionally, the README has been updated to reflect the switch from the beta to the stable channel for general development, and the native splash screen assets have been updated to use the new marketing logo.

(repo-wide) · high confidence

Updated Android Gradle wrapper to version 8.13

The Android build system has been upgraded to use Gradle 8.13, replacing the previous version 7.4. This change ensures compatibility with newer Android build tools and may require developers to update their local Gradle wrapper to match the new version.

android/gradle · high confidence

Updated Android build configuration for arm64-v8a

The Android app's native build cache and CMake configuration files for the arm64-v8a architecture have been updated. This includes new CMake cache, codemodel, and compiler identification files that define the build environment, including the use of NDK 27.0.12077973 and Clang 18.0.1 for C and C++ compilation.

android/app · high confidence

Updated Xcode build configuration to version 1510

The Xcode scheme configuration for the iOS Runner has been updated to use the latest build system version (1510), ensuring compatibility with newer Xcode tooling and build processes.

ios/Runner.xcodeproj/xcshareddata · high confidence

Updated app icons and build configuration

The application's visual assets have been updated, specifically targeting web icons and general app icons. Additionally, the build system has been updated to record the last build ID, and the icon builder script has been made executable.

py · medium confidence

Updated macOS Runner project configuration

The macOS build configuration has been updated to support macOS distribution. This includes a new Xcode project file (project.pbxproj) that defines the Runner target, build phases, and file references for the Flutter assembly, as well as new scheme and workspace check files to ensure proper IDE behavior and build settings.

macos/Runner.xcodeproj · medium confidence

Updated wonder data and search indexes

The data files for the Seven Wonders (Chichen Itza, Christ the Redeemer, Colosseum, Great Wall, Machu Picchu, Petra, and Pyramids of Giza) have been updated with fresh search items and suggestions. The search data for each wonder has been refreshed, including new or modified artifact entries and search suggestions to improve discoverability.

_lib/logic/data/wonders\data · high confidence

Web app now supports WebAssembly and enhanced mobile installation

The web entry point (index.html) has been updated to enable WebAssembly (WASM) by default for most browsers, with an opt-in mechanism for Safari and Firefox. The HTML template now includes a preload for FontManifest.json, sets the base href, and initializes the Flutter loader with WASM configuration. Additionally, the web manifest (manifest.json) has been updated with a richer description, theme colors, and screenshots to support a more robust installation interface on mobile devices.

web · medium confidence

Wonder Events screen gains responsive two-column layout and scroll retention

The Wonder Events screen now adapts its layout based on screen aspect ratio: on mobile devices with a landscape aspect ratio greater than 0.85, it switches to a two-column layout (image and events list side-by-side), while other views use a single-column stack layout. The screen also retains its scroll position when navigating away and back, and uses a custom \IgnorePointer\ implementation for improved accessibility and interaction handling.

_lib/ui/screens/wonder\events · medium confidence

iOS minimum deployment version increased to 13.0

The minimum iOS version required to run the app has been raised from 11.0 to 13.0. This change ensures compatibility with dependencies that require a higher iOS version, such as Google Maps.

ios/Flutter · high confidence

Dependencies

Update Android build configuration to Kotlin DSL and upgrade iOS/macOS dependencies

The Android build system has been migrated from Groovy to Kotlin DSL (build.gradle.kts), updating the Android Gradle Plugin to version 8.9.1 and Kotlin to 2.1.0, while the iOS minimum deployment target was raised to 14.0. Additionally, the project upgraded the Google Maps iOS dependency to version 8.4.0 and updated the Flutter SDK constraint to version 3.41.9.

(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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

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

Lenses

  • Code Health 100 → 99 (-0.5)
  • Architecture 99 → 81 (-18.4)
  • Maturity 53 → 55 (+1.4)
  • Readiness 28 → 19 (-8.6)
  • Security 42 → 65 (+23.1)
  • Domain Modelling 100 → 100 (+0.0)
  • Accessibility 46 → 46 (+0.0)

Resolved (14)

  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • No exposed public API
  • Off-boarding risk: anonymized user #1
  • Secret: generic-api-key (lib/logic/unsplash_service.dart)
  • Secret: generic-api-key (lib/logic/unsplash_service.dart)
  • complexity unreadable for .dart, .swift — churn × complexity hotspots could not be measured
  • knowledge concentrated in recent work — freshness signal contradicted by repo activity

New (46)

  • Change coupling: artifact_details_screen.dart ↔ wonders_home_screen.dart (lib/ui/screens/artifact/artifact_details/artifact_details_screen.dart)
  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no architecture or design documentation (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (10 lines × 3) (lib/ui/wonder_illustrations/colosseum_illustration.dart)
  • Duplicated block (12 lines × 2) (lib/ui/common/modals/app_modals.dart)
  • Duplicated block (12 lines × 3) (lib/ui/wonder_illustrations/chichen_itza_illustration.dart)
  • Duplicated block (13 lines × 2) (lib/ui/wonder_illustrations/colosseum_illustration.dart)
  • Duplicated block (16 lines × 3) (lib/ui/wonder_illustrations/christ_redeemer_illustration.dart)
  • Duplicated block (18 lines × 2) (lib/ui/wonder_illustrations/chichen_itza_illustration.dart)
  • Duplicated block (18 lines × 2) (lib/ui/wonder_illustrations/christ_redeemer_illustration.dart)
  • Duplicated block (22 lines × 2) (lib/ui/wonder_illustrations/chichen_itza_illustration.dart)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 26 more

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

Survey your own repository

gskinnerTeam/flutter-wonderous-app 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 23 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 747b945a7e5239356bf2664261aa2f3b020b8898 — 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-955b9cee9818.