# MohamedRejeb/Calf

Calf is a library that allows you to easily create adaptive UIs and access platform specific APIs with Compose Multiplatform (Adaptive UI, File Picker, WebView, Permissions...).

Repository: https://github.com/MohamedRejeb/Calf
Canonical: https://ross.abutalabs.com/products/calf
Homepage: https://mohamedrejeb.github.io/Calf/
Language: Kotlin
License: Apache-2.0
License Family: permissive
Topics: android, compose, compose-desktop, compose-ios, compose-multiplatform, compose-ui, desktop, ios, jetpack-compose, kotlin, kotlin-multiplatform, compose-library, compose-multiplatform-library
Last push: 2026-07-27T20:09:52+00:00

## Health v2 (maintenance only)
Score: 87/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 94, release rhythm 83, longevity 80
- inputs: {"age_days": 1124, "days_push": 37, "days_rel": 37, "gap_med": 59.0, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1639, forks 89 (observed 2026-08-28T04:05:15.219857+00:00)

## What it is
Calf is a Kotlin library for Compose Multiplatform that provides adaptive UI components and wrappers for platform-specific APIs such as file picker, WebView, and permissions. It lets a single codebase render native look-and-feel UI across Android, iOS, Desktop, and Web.

## Use cases
- build adaptive UIs with Compose Multiplatform
- pick files natively from Android, iOS, and desktop in shared Kotlin code
- embed a WebView in a Compose Multiplatform app
- request and handle runtime permissions in Kotlin Multiplatform
- use Cupertino-style icons cross-platform

## When to choose
- you're building a Compose Multiplatform app and need native platform APIs like file picker or permissions
- you want UI components that adapt to each platform's look and feel
- you need a shared-code WebView across Android, iOS, and desktop

## When to avoid
- your app is single-platform native (plain Android or iOS) where platform SDKs suffice
- you need geolocation, maps, notifications, or media players - those modules are still marked coming soon
- you don't use Kotlin or Compose Multiplatform

## Facets
- artifact type: library
- maturity: active
- function: ui-components, file-upload, mobile-framework
- domain: mobile-development, cross-platform, frontend
- platform: jvm, wasm, cross-platform
- tags: compose-multiplatform, jetpack-compose, adaptive-ui, file-picker, webview, permissions, kotlin-multiplatform, android, ios, desktop

## Member repositories
- MohamedRejeb/Calf (main) score 87

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:15.219857+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:46:25.321304+00:00, confidence not recorded.
  - readme: https://github.com/MohamedRejeb/Calf (fetched 2026-08-28T04:05:15.219857+00:00, sha a7bfdbc53fb8)
  - homepage: https://mohamedrejeb.github.io/Calf/ (fetched 2026-08-29T11:19:25.757219+00:00, sha feaf42cae4e6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
