Skip to content
CAI
Software that uses CAICheck a score

mo7amedaliEbaid/news-wire

50.9

Weak · 21 September 2026

3k

lines of production code

Dart

with C++

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a multi-platform Flutter application designed for desktop and mobile environments, with specific support for Linux, macOS, Windows, Android, iOS, and Web. It functions as a news or content consumption app, featuring a dashboard for top stories and article viewing, while utilizing Firebase for crash reporting and project configuration. The codebase has been streamlined by removing unused localization and model code, focusing instead on core UI layouts and cross-platform compatibility.

Features

Initial desktop support for Linux, macOS, and Windows

Added the complete native project templates for Linux, macOS, and Windows, enabling the application to be built and run as a native desktop app on each platform. The Linux entry includes a CMake build configuration, GTK-based application window, and plugin registration. The macOS entry provides the Xcode project, Swift application entry points, and build configurations. The Windows entry includes the CMake build system for the native runner. These changes add the necessary infrastructure to package and distribute the app on desktop operating systems.

linux, macos, windows · high confidence

Project initialization with core documentation and configuration files

The repository was initialized with essential project files, including a MIT LICENSE, a Contributor Covenant CODE\_OF\_CONDUCT.md, and a .firebaserc file configuring the Firebase project 'eccomerce-af8a1'. Additionally, the README.md was updated to reflect the project as a multi-platform Flutter application (Android, iOS, Web, Linux Desktop) and include new sections for state management, features, and screenshots.

(repo-wide) · high confidence

Behavioural changes

Integrates Firebase Crashlytics and removes unused localization/orientation code

The app now initializes Firebase and registers Crashlytics to capture fatal errors and uncaught exceptions, improving crash reporting. The splash screen's initial route is updated to use the responsive utility for desktop navigation. Unused code for locale providers, localizations, and screen orientation locking has been removed, and the AppUtils class is converted to a sealed class containing asset paths.

lib · high confidence

Refines dashboard layout and simplifies API calls

The dashboard UI is updated to use a consistent width for the category tabs and top stories sections, removing previous conditional width calculations. The article content screen is redesigned to display a header with a back button and adapts its layout for desktop and mobile views. Additionally, the top headlines API calls are simplified by removing unused country and language parameters, and the locale provider file is removed.

lib/screens · high confidence

Removed unused localization and commented-out model code

The localization implementation in lib/configs/localization.dart has been removed, and the previously commented-out News model definition in lib/models/news.dart has been fully deleted. Users will no longer have access to the previous localization mechanism, and the old News model structure is no longer available in the codebase.

lib/configs, lib/models · medium confidence

Updated branding, icons, and loading state in the web app

The web entry point now displays a custom loading spinner and applies a brown background color to the body. The application title has been changed to 'Mohamed Ali', and the favicon and Apple touch icon have been updated to use 'news\_ic.png' instead of the previous 'Icon-192.png' and 'Icon-512.png' assets. The web app manifest has been updated to point all icon references to the new 'news\_ic.png' file.

web · medium confidence

Dependencies

Integrate Firebase Crashlytics and update Android build configuration

The application now includes Firebase Crashlytics for error reporting, adding the \firebase\_core\ and \firebase\_crashlytics\ packages to the project dependencies. On the Android side, the build configuration has been updated to include the Google Services and Crashlytics Gradle plugins, with \minSdkVersion\ set to 20 and \targetSdkVersion\ to 33. Additionally, multi-Dex support and specific Material Design and Android Support Library dependencies have been added to the Android build.

(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 49 → 51 (+1.9)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 96 (-4.2)
  • Architecture 100 → 100 (-0.2)
  • Maturity 32 → 47 (+15.0)
  • Readiness 47 → 30 (-16.3)
  • Security 56 → 78 (+21.6)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (14)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High CVE: [GHSA redacted] (pubspec.lock)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • No exposed public API
  • Secret: gcp-api-key (android/app/google-services.json)
  • Test reliability not included
  • The 'Features.' section lists Firebase Crashlytics but does not mention the crash-reporting dependency or how to enable it. (README.md)
  • The asset README is thin and only describes the launch image; no guidance on customizing or replacing assets. (ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md)
  • complexity unreadable for .dart, .kt, .swift — churn × complexity hotspots could not be measured
  • dormant codebase — no living knowledge left to concentrate

New (23)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (17 lines × 3) (lib/screens/dashboard/views/mobile.dart)
  • Duplicated block (22–23 lines × 3) (lib/screens/dashboard/views/desktop.dart)
  • Duplicated block (23 lines × 2) (lib/screens/dashboard/views/desktop.dart)
  • Duplicated block (5 lines × 2) (lib/cubits/articles/cubit.dart)
  • Duplicated block (64 lines × 2) (lib/screens/dashboard/views/widgets/_article_disktop.dart)
  • Duplicated block (9 lines × 2) (lib/configs/app_core_theme.dart)
  • High CVE: [GHSA redacted] (pubspec.lock)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Hotspot: lib/screens/dashboard/views/mobile.dart (lib/screens/dashboard/views/mobile.dart)
  • Leaked secret: gcp-api-key (lib/firebase_options.dart)
  • Leaked secret: high-entropy-secret (lib/firebase_options.dart)
  • Medium: security finding (details withheld)
  • MethodTooLong: ArticleContentScreen.build (lib/screens/article_content/article_content.dart)
  • MethodTooLong: _DashboardMobileState.build (lib/screens/dashboard/views/mobile.dart)
  • …and 3 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

mo7amedaliEbaid/news-wire 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 cd839dccabc9c7154e51a3fa6d3c44d5245e5571 — 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.