Skip to content
CAI
Software that uses CAICheck a score

iamnijat/code-quizzy

47.8

Weak · 21 September 2026

3.2k

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 system is a Flutter-based quiz application that retrieves programming topics and questions from the QuizAPI.io service at runtime. It provides a cross-platform user experience across Android, iOS, and Web, featuring interactive navigation, dynamic difficulty selection, and robust error handling for API failures. The application manages user progress through an interactive counter and supports offline capabilities via a service worker on the web platform.

Features

Initial commit of web application files

This change introduces the initial web build artifacts for the 'quiz\_programming' Flutter application, including the entry point (index.html) and the PWA manifest (manifest.json). These files establish the basic structure for serving the app in a browser, configuring the app title, icons, and service worker integration for offline capabilities.

web · high confidence

Initial project setup and configuration documentation

The repository has been initialized with the core application code, including a new MIT license file and updated project metadata. The README has been expanded to document the Flutter Code Quizzy application, specifically detailing the requirement for a QuizAPI.io key passed via \--dart-define\ at build time and explaining how the app fetches topics at runtime. Additionally, the \.gitignore\ has been updated to include the \.vscode\ directory to prevent committing launch configurations that contain the API key, and the generated plugin registrant file has been removed from version control.

(repo-wide) · high confidence

Behavioural changes

Improved quiz navigation, error handling, and counter interactivity

The presentation layer now handles quiz loading failures more gracefully: the Error Page displays dynamic error titles and messages from the repository, and the Home Page opens the Quiz Page before fetching data so that a failed load can replace the view instead of being covered. The Topic Selection Page has been refactored to load categories asynchronously from a repository, supporting loading states, error displays with a retry button, and grouped topic lists. The Counter Page's Animated Circles widget is now interactive, accepting increment/decrement callbacks and a counter value, replacing the previous static animation. Additionally, the Difficulty Page dynamically adjusts its slide count based on the available difficulty list rather than a hardcoded number.

lib/presentation · high confidence

Quiz and category management refactored to use live API data

The app no longer uses hardcoded topic lists and images; instead, it fetches categories and icons from the quiz API at runtime. A new CategoryRepository and CategoryIcons mapping replace the deleted TopicSelectionModel and static assets, filtering out empty topics and resolving Lucide icon names to Material icons. The quiz flow now handles API errors (missing key, unauthorized, rate limit, network, server, or no questions) with specific user-facing messages and navigation to an error page, while the correct answer logic and difficulty filters are simplified to match the updated API response structure.

(repo-wide) · high confidence

iOS minimum deployment target raised and counter limits adjusted

The iOS app now requires a minimum deployment target of iOS 12.0 (up from 9.0) and includes configuration updates for CocoaPods integration and indirect input event support. In the application logic, the counter feature's valid range has been adjusted: the minimum value is now 4 and the maximum is 9, changing the previous bounds of 3 and 10.

ios, lib/logic · high confidence

Dependencies

Updated Android Gradle wrapper to version 8.14.5

The Android build system now uses Gradle 8.14.5 (upgraded from 6.7) to handle project builds. This change updates the underlying build tooling used by the Android application without altering the app's runtime behavior or user-facing features.

android · high confidence

Upgrade Android build configuration and update Flutter dependencies

The Android build system has been migrated to the new Gradle plugin management DSL, upgrading the Android Gradle Plugin to 8.13.2 and Kotlin to 2.3.20. This change updates the compile and target SDK versions to 36, adds multidex support, and switches the Kotlin standard library to JDK 8. Additionally, Flutter dependencies have been updated, including upgrades to packages such as animated\_text\_kit, archive, args, async, bloc, characters, clock, collection, crypto, cupertino\_icons, fake\_async, ffi, file, flare\_flutter, flutter\_bloc, and flutter\_launcher\_icons, with the project version bumped to 1.0.1+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

Score

  • CAI 42 → 48 (+5.5)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (-0.1)
  • Architecture 100 → 92 (-7.8)
  • Maturity 29 → 54 (+24.9)
  • Readiness 15 → 15 (+0.0)
  • Security 97 → 98 (+0.8)
  • 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 (6)

  • 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 (14 lines × 3) (lib/presentation/widgets/counter/animated_circles.dart)
  • No ADRs found

Changes since last survey

  • 2 commits — 1 feature/other, 1 fixes

By area

  • (root) — 1 commit
  • lib/presentation — 1 commit

Notable commits

  • fix: fix: refactor quiz and category management
  • change: chore: update Android and Flutter dependencies and configurations

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

Survey your own repository

iamnijat/code-quizzy 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 8d78de4d4b5809570ce85c0a3ed2c442e13df322 — 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.