Skip to content
CAI
Software that uses CAICheck a score

olololoe110399/bedtime_stories

57.0

Adequate · 21 September 2026

5.6k

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 mobile application designed for generating and managing bedtime stories. It leverages OpenAI's chat and image APIs to create content, which is then saved locally using Hive. The architecture employs Riverpod for state management and AutoRoute for navigation, with a standardized structure for feature modules and core infrastructure.

Features

Added feature template brick for generating Flutter feature modules

The \bricks/feature\_template\ directory now includes a complete Mason brick template for scaffolding new Flutter features. This template generates a feature module containing a page, view model, state, and events using Riverpod and freezed, providing a standardized structure for developers to create new feature sets within the application.

bricks · high confidence

Initial architecture for story generation and management

The application now includes the foundational data, domain, and presentation layers for generating and managing stories. This introduces the ability to create stories via OpenAI's chat and image APIs, save them locally using Hive, and view a history of saved stories. The UI provides a 'Define Story' page to input story parameters, a 'History' page to browse saved stories, and a 'Story Detail' view, all wired to new use cases and repositories.

lib/presentation · high confidence

Introduce core architecture and infrastructure for the app

The core library adds foundational infrastructure to support the application's features, including a standardized state management pattern with base classes for events, states, and view models, alongside a reusable page state handler. It also introduces a comprehensive error handling system with mappers and wrappers, a local storage layer using Hive with encryption, and a navigation system built on AutoRoute. Additionally, the update provides utility classes for responsive dimensions, logging, and network configuration, establishing the base for the UI and data layers.

lib/core/src · high confidence

Behavioural changes

Customizes Android app icon, splash screen, and launch theme

The Android app now features a custom launcher icon and a dedicated splash screen with background and foreground images, replacing the default white background. The launch and normal themes are updated to support full-screen display, system bar background drawing, and dark mode handling, while the application label is changed to "Unique Bedtime Chronicles" and the package name is updated to \vn.olololoe.bedtime\_stories\.

android · medium confidence

Replaced default Flutter template with custom app initialization and error handling

The application entry point has been refactored to replace the default Flutter counter template with a structured initialization process. The app now initializes the Flutter binding, loads application configuration via \AppConfig\, and wraps the root widget in a \ProviderScope\ to support state management. Additionally, global error handling has been implemented using \runZonedGuarded\ to catch and log uncaught exceptions.

lib · high confidence

iOS app launch screen and build configuration updates

The iOS project has been updated to support a new launch background image and modernize the build configuration. The launch screen now includes a background image layer alongside the existing launch image, with corresponding updates to the storyboard and asset catalog. Additionally, the Info.plist has been updated to include the \UIViewControllerBasedStatusBarAppearance\ key, and the project file has been reorganized to include CocoaPods support files and test frameworks, ensuring the app builds correctly with the latest Xcode and CocoaPods standards.

ios · high confidence

Test coverage

Removed default Flutter widget test

The default smoke test for the Flutter counter widget in test/widget\_test.dart has been removed, eliminating the associated test coverage for that component.

test · high confidence

Dependencies

Initial project setup and iOS/Android configuration

The project is initialized with a new iOS Podfile and Podfile.lock, establishing the CocoaPods dependency graph for the Flutter app. On the Android side, the build configuration is updated to use a custom application ID (vn.olololoe.bedtime\_stories) and configure release signing via a keystore properties file. Additionally, the Dart dependencies are defined in pubspec.yaml, introducing packages for state management (hooks\_riverpod), routing (auto\_route), networking (retrofit, dio), and local storage (hive, shared\_preferences), alongside dev dependencies for code generation (build\_runner, freezed).

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

Lenses

  • Code Health 97 → 97 (-0.0)
  • Architecture 100 → 94 (-6.5)
  • Maturity 59 → 63 (+4.2)
  • Readiness 22 → 30 (+8.1)
  • Security 100 → 100 (+0.0)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (8)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • Test reliability not included
  • complexity unreadable for .dart, .swift — churn × complexity hotspots could not be measured
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient

New (14)

  • ClassTooLong: Dimens (lib/core/src/dimen/dimens.dart)
  • 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 (12–13 lines × 2) (lib/presentation/src/define_story/define_story_page.dart)
  • Duplicated block (19 lines × 2) (lib/core/src/utils/date_utils.dart)
  • Duplicated block (6 lines × 2) (lib/core/src/base/base_vm_mixin.dart)
  • Low cohesion: AppNavigator (LCOM4 5) (lib/core/src/navigation/app_navigator.dart)
  • Low cohesion: BaseVMDelegete (LCOM4 4) (lib/core/src/base/base_vm.dart)
  • MethodTooLong: _PageState.buildPage (lib/presentation/src/define_story/define_story_page.dart)
  • MethodTooLong: _PageState.buildPage (lib/presentation/src/history/history_page.dart)
  • No ADRs found
  • TodoComment (bricks/feature_template/brick/{{feature.lowerCase()}}/{{feature.lowerCase()}}_vm.dart)
  • TodoComment (lib/presentation/src/jailbreak/jailbreak_vm.dart)

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

Survey your own repository

olololoe110399/bedtime_stories 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 8c0be70a35f84426580157b6ca938c07b0f24cc0 — 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.