Skip to content
CAI
Software that uses CAICheck a score

grigorevmp/Simple_Passwords_QuickPass

44.3

Weak · 20 September 2026

6.2k

lines of production code

Kotlin

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an Android application designed for managing passwords and folders, featuring local data persistence via Room and support for Android's Autofill framework. It provides capabilities for organizing credentials, analyzing password quality, and enforcing security through an auto-lock mechanism. The codebase has been modernized to use AndroidX, Jetpack Compose, and Kotlin, ensuring compatibility with recent Android SDK versions.

Behavioural changes

App architecture migrated to Room database and AndroidX

The app has been refactored to use the Room persistence library for local data storage, replacing the previous database implementation. This change introduces new data models (PasswordCard, FolderCard) and DAOs, enabling features such as folder-based organization, password quality analysis, and sorting. Additionally, the app now supports Android's Autofill framework to automatically fill login credentials, and includes a new auto-lock mechanism that returns users to the login screen after a configurable period of inactivity.

app/src · high confidence

Gradle wrapper upgraded to version 8.0-rc-2

The project's Gradle wrapper has been updated from version 6.1.1 to 8.0-rc-2. This change ensures that builds use the newer Gradle distribution, which may introduce updates to the build system's behavior, performance characteristics, and compatibility requirements.

gradle · high confidence

Release build metadata updated to version 1.0.5

The app's release build configuration has been updated to version 1.0.5 (version code 6). This change updates the output metadata to reflect the new version name and code for the generated APK, ensuring the correct versioning information is embedded in the release artifact.

app/release · high confidence

Dependencies

Major dependency upgrade and AndroidX migration

The project has been significantly upgraded, moving from Android SDK 29 to 33 and Kotlin 1.3.72 to 1.8.10. This change introduces Android Jetpack Compose (Material3), Room database, and Dagger 2 for dependency injection, while replacing older libraries with modern AndroidX equivalents like Navigation Compose and Lifecycle components. The build system also migrates from jcenter to Maven Central and updates the Android Gradle Plugin to version 7.4.2.

(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 47 → 44 (-2.7)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 80 → 85 (+5.7)
  • Architecture 100 → 91 (-9.5)
  • Maturity 48 → 47 (-0.5)
  • Readiness 24 → 18 (-6.3)
  • Security 93 → 95 (+2.2)

Resolved (40)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (10 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/view/PasswordViewActivity.kt)
  • Duplicated block (11 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (13 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (13–14 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (14 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (14 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (14 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/edit/PasswordEditActivity.kt)
  • Duplicated block (14–15 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/edit/PasswordEditActivity.kt)
  • Duplicated block (15 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (16 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password/PasswordFragment.kt)
  • Duplicated block (17–19 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (18 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (18 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/pin_code/set/PinSetActivity.kt)
  • Duplicated block (18–19 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (18–19 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/settings/SettingsFragment.kt)
  • Duplicated block (20 lines × 5) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (21 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password/PasswordFragment.kt)
  • Duplicated block (21–22 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • …and 20 more

New (63)

  • Change coupling: PasswordCreateActivity.kt ↔ PasswordEditActivity.kt (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Change-coupling hub: MainActivity.kt → PasswordAdapter.kt, PasswordCreateActivity.kt, PasswordEditActivity.kt (app/src/main/java/com/mikhailgrigorev/simple_password/ui/main_activity/MainActivity.kt)
  • ClassTooLong: PasswordCreateActivity (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • ClassTooLong: PasswordEditActivity (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/edit/PasswordEditActivity.kt)
  • ClassTooLong: PasswordFragment (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password/PasswordFragment.kt)
  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (10 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/pin_code/set/PinSetActivity.kt)
  • Duplicated block (10 lines × 6) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (11 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (11 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (11–12 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (12–13 lines × 4) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (14–16 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (16 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (17 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • Duplicated block (18–20 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password/PasswordFragment.kt)
  • Duplicated block (19 lines × 2) (app/src/main/java/com/mikhailgrigorev/simple_password/ui/password_card/create/PasswordCreateActivity.kt)
  • …and 43 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

grigorevmp/Simple_Passwords_QuickPass 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 20 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 20ab0beb627cf8f8fe11af1eb1337f45614651ea — 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-28e75b8e3254.