Skip to content
CAI
Software that uses CAICheck a score

Kyant0/AndroidLiquidGlass

45.3

Weak · 28 September 2026

5.8k

lines of production code

Kotlin

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Kotlin Multiplatform library named Backdrop that provides Compose UI components for applying advanced visual effects such as blur, vibrancy, and lens distortion. It includes a cross-platform catalog application demonstrating these interactive elements on Android, iOS, Desktop, and Web targets. The project also manages its own build infrastructure, including Gradle wrapper updates and JVM toolchain configurations.

How it got here

2025 — Backdrop library rebrand and multiplatform expansion

6 changes.

The project rebranded from Android Liquid Glass to Backdrop, shifting focus to a customizable Compose Multiplatform library. This period involved upgrading core dependencies to Kotlin 2.4.10 and Compose Multiplatform 1.12.0 to support additional platforms like Desktop and iOS, while introducing the new Backdrop library for visual effects and removing the legacy playground app.

2026 — Backdrop library and catalog initialization

6 changes.

This period established the foundational structure for the Backdrop Catalog project, introducing the core Backdrop library with Compose modifiers for visual effects and damped drag animations. It involved creating a shared UI catalog to demonstrate these liquid-style components across Android, iOS, and Skiko platforms, while setting up the initial native app wrappers and common module architecture.

Features

Add Android and Skiko platform implementations for the Backdrop catalog demo

This change introduces the missing platform-specific source files for the Backdrop catalog demo, enabling it to run on Android and Skiko (desktop/web) targets. The Android implementation provides native UI scaffolding with image picking via the Activity Result API, while the Skiko implementation offers a corresponding scaffold and a functional 'Back' button. Both platforms now share consistent utility implementations for back handling, bitmap scaling, coroutine frame waiting, and SDF shader application, ensuring the demo's visual effects and interactions work correctly across supported environments.

app/src/androidMain, app/src/skikoMain · high confidence

Add iOS app wrapper for Backdrop Catalog

The iosApp module now provides a native iOS entry point for the Backdrop Catalog sample. This includes an Xcode project configured with the bundle identifier com.kyant.backdrop.catalog.Catalog and app name 'Backdrop Catalog', along with Swift UI components that embed the shared Kotlin MainViewController. The app is set up to build and run the catalog interface on iOS devices.

iosApp · high confidence

Initial Android app structure for Backdrop Catalog

The androidApp module has been initialized with a new Material-themed UI, replacing the previous 'Glass' theme with 'Theme.Catalog' for both light and dark modes. The application identity has changed to 'com.kyant.backdrop.catalog' (previously 'com.kyant.glass'), and the app name is now 'Backdrop Catalog'. The main entry point is MainActivity, which uses Jetpack Compose to render MainContent. The app now supports adaptive icons with a custom green background and foreground, and the minimum SDK version for dexing has been lowered to 23.

androidApp · high confidence

Initial UI catalog with Liquid-style interactive components

The app now includes a demonstration catalog in the common module featuring a suite of 'Liquid' UI components—such as buttons, toggles, sliders, and bottom tabs—that apply backdrop effects like vibrancy, blur, and lens distortion. This entry point provides a navigation hub to explore these interactive elements, which adapt their appearance based on system theme and user gestures.

app/src/commonMain · high confidence

Initial release of the Backdrop library with damped drag animations and sensor-driven effects

This change introduces the initial version of the Backdrop library, providing a suite of Compose modifiers for advanced visual effects. The \backdrop\ module adds \drawBackdrop\, \layerBackdrop\, \highlight\, \shadow\, and \innerShadow\ modifiers, enabling developers to apply customizable blurs, gradients, and layered visual styles to UI components. The \catalog\ module adds a \DampedDragAnimation\ utility for smooth, physics-based drag interactions and platform-specific \UISensor\ implementations (Android and Skiko) to expose device orientation data for dynamic visual effects.

. · high confidence

Introduce Backdrop library for Compose visual effects

The new 'backdrop' module provides a Kotlin Multiplatform library for applying visual effects to Compose UI elements. It introduces a \Backdrop\ interface and composable helpers like \rememberBackdrop\ and \rememberLayerBackdrop\ to manage drawing layers. The library supports a range of effects including blur, color filters (opacity, vibrancy, brightness/contrast), and custom runtime shaders for lens/refraction effects. It is implemented for both Android (using native RenderEffect and RuntimeShader APIs) and Skiko (using Skia ImageFilters), with platform-specific checks to ensure feature availability.

backdrop · high confidence

iOS app entry point with Compose UI integration

The iOS application now launches via a new entry point in app/src/iosMain that creates a UIKit view controller hosting a Compose UI tree. The entry point configures the Compose environment to ignore focus behavior changes and renders the shared MainContent composable, enabling the catalog sample to run on iOS devices.

app/src/iosMain · high confidence

Removals

Removed the Liquid Glass playground app and its UI components

The app module's playground application has been removed, deleting the MainActivity entry point and all associated UI components (such as the Preview, BottomSheet, and configuration controls) along with their supporting resources (strings, themes, and icons). This eliminates the interactive demo interface used to experiment with glass effect parameters.

app/src/main · high confidence

Behavioural changes

38 commits (4 fixes) modifying app/release/baselineProfiles

A change to existing behaviour in app/release/baselineProfiles — 38 commits (4 fixs), 2 files.

app/libs, app/release, app/release/baselineProfiles · medium confidence · unverified

Library rebranded to Backdrop with updated documentation and Gradle wrapper

The project has been rebranded from 'Android Liquid Glass' to 'Liquid Glass (Backdrop)' (artifact: io.github.kyant0/backdrop), shifting its positioning to a customizable Compose Multiplatform library rather than a single Android app. The README now provides Maven Central links, documentation references, and lists example components like LiquidButton and LiquidBottomTabs. Additionally, the Gradle wrapper scripts (gradlew, gradlew.bat) have been updated to a newer POSIX-compliant format, and the .gitignore now excludes the .kotlin directory.

(repo-wide) · high confidence

Dependencies

Gradle wrapper upgraded to 9.7.1 with new JVM toolchain configuration

The Gradle wrapper has been updated from version 8.14.2 to 9.7.1, introducing new retry configuration properties (retries and retryBackOffMs) for distribution downloads. Additionally, a new gradle-daemon-jvm.properties file has been added to configure the JVM toolchain, specifying version 21 from JetBrains as the vendor and providing download URLs for various operating systems and architectures.

gradle · high confidence

Upgrade to Kotlin 2.4.10 and Compose Multiplatform 1.12.0 with new platform targets

The project has upgraded its core dependencies, moving from Kotlin 2.2.0-RC3 to the stable Kotlin 2.4.10 and from the AndroidX Compose BOM to JetBrains Compose Multiplatform 1.12.0. This shift introduces support for additional platforms, including Desktop (via Skiko), macOS, iOS, JavaScript, and WebAssembly (WasmJs), alongside the existing Android target. The \app\ module has been refactored into a multiplatform library (\com.kyant.backdrop.catalog.common\) that shares code across these targets, while the \backdrop\ library now explicitly depends on the \kyant-shapes\ library (v1.2.1). Additionally, Gradle configuration and build caches are now enabled to improve build performance.

(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 → 45 (-1.2)
  • Rubric changed (rubric-2026.09.8 → rubric-2026.09.16) — scores are not directly comparable.

Lenses

  • Code Health 95 → 95 (+0.0)
  • Architecture 98 → 98 (-0.2)
  • Maturity 49 → 49 (+0.0)
  • Readiness 17 → 12 (-5.3)
  • Security 100 → 100 (+0.0)
  • Performance 100 (new)

Resolved (1)

  • Change coupling: HighlightStyle.kt ↔ Shaders.kt (backdrop/src/commonMain/kotlin/com/kyant/backdrop/highlight/HighlightStyle.kt)

New (3)

  • Documentation: no contributor guidance (README.md)
  • No ADRs found
  • Off the main sequence: :backdrop

Architecture

  • Containers 0 added · 0 removed · contexts 2 added · 1 removed · edges 1 added · 0 removed

Added bounded contexts (2)

  • app
  • backdrop

Removed bounded contexts (1)

  • .

Added dependency edges (1)

  • app → backdrop (coupling)

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

Survey your own repository

Kyant0/AndroidLiquidGlass 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 28 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 65ab177e90e5c1d8c62e70cf7755841982da65f6 — the exact code this score is about.
  • Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-2d9048c36d26.