Skip to content
CAI
Software that uses CAICheck a score

may-andro/flutter-cleanarch-weight-management-app

45.7

Weak · 21 September 2026

6.8k

lines of production code

Dart

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This is a mobile application, likely for health or fitness tracking, that has been enhanced with local notification capabilities. The system allows users to schedule daily or weekly reminders to log their weight, with preferences persisted locally. It utilizes a dedicated data model for notifications and manages platform-specific configurations for Android and iOS to support these features.

Features

Add daily or weekly weight reminder notifications

Users can now set a daily or weekly notification reminder to log their weight. The settings screen includes a new 'Notification' option that opens a dialog to choose between daily, weekly, or no reminders. Selecting a reminder schedules a local notification at 6 PM. The app also persists the selected reminder preference in local storage and restores it on launch.

(repo-wide) · high confidence

Added NotificationItem model class

A new data model class, NotificationItem, has been introduced to represent notification entities. This class defines the structure for notification items, including an integer ID, a string label, and a string color, along with a constructor to initialize these fields.

lib/model · high confidence

Test coverage

Removed obsolete Flutter widget test

The file test/widget\_test.dart has been deleted. This removal eliminates a default Flutter smoke test that verified a counter incrementing from 0 to 1, which is no longer part of the application's test suite.

test · high confidence

Dependencies

Add local notifications support and update app version

The application now supports local notifications, introduced via the flutter\_local\_notifications package (v0.8.2) and its transitive dependency 'platform' (v2.2.1). On the Android side, multiDex is enabled and ProGuard is configured for release builds. On iOS, the Podfile is updated to include the new notification plugin. The app version has been bumped to 1.1.0+2.

(dependencies) · medium 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 43 → 46 (+2.3)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 97 → 97 (+0.0)
  • Architecture 100 → 97 (-3.4)
  • Maturity 33 → 40 (+7.0)
  • Readiness 15 → 17 (+1.9)
  • Security 100 → 100 (+0.0)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (6)

  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • complexity unreadable for .dart, .kt, .swift — churn × complexity hotspots could not be measured
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • single-maintainer — knowledge-concentration (bus factor) risk

New (30)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no project overview (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (11 lines × 2) (lib/screens/body_chart/bloc/body_chart_bloc.dart)
  • Duplicated block (11 lines × 2) (lib/screens/body_chart/tabs/weight_tab.dart)
  • Duplicated block (12 lines × 2) (lib/screens/add_weight/add_weight.dart)
  • Duplicated block (12 lines × 2) (lib/screens/home/tabs/profile_tab.dart)
  • Duplicated block (12 lines × 2) (lib/screens/onboarding/tabs/age_tab.dart)
  • Duplicated block (5 lines × 2) (lib/database/dao/user_dao.dart)
  • Duplicated block (5 lines × 2) (lib/database/dao/user_dao.dart)
  • Duplicated block (5 lines × 2) (lib/screens/onboarding/tabs/age_tab.dart)
  • Duplicated block (6 lines × 2) (lib/database/dao/user_dao.dart)
  • Duplicated block (7 lines × 2) (lib/screens/home/widget/height_pager.dart)
  • Duplicated block (8 lines × 2) (lib/screens/body_chart/tabs/bfp_tab.dart)
  • Duplicated block (8 lines × 2) (lib/screens/body_chart/tabs/bfp_tab.dart)
  • Duplicated block (8 lines × 2) (lib/screens/onboarding/tabs/age_tab.dart)
  • Duplicated block (8 lines × 2) (lib/screens/onboarding/widget/app_name_widget.dart)
  • Duplicated block (8 lines × 3) (lib/screens/home/tabs/profile_tab.dart)
  • Duplicated block (9 lines × 2) (lib/screens/home/tabs/profile_tab.dart)
  • Duplicated block (9 lines × 2) (lib/screens/home/tabs/profile_tab.dart)
  • …and 10 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

may-andro/flutter-cleanarch-weight-management-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 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 8bfcaeb4601e45285137e28e0400f02665fa197b — 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.