# JakeWharton/mosaic

Build terminal UI in Kotlin using Jetpack Compose

Repository: https://github.com/JakeWharton/mosaic
Canonical: https://ross.abutalabs.com/products/mosaic
Language: Kotlin
License: Apache-2.0
License Family: permissive
Last push: 2026-08-26T22:08:59+00:00

## Health v2 (maintenance only)
Score: 76/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 32, longevity 100
- inputs: {"age_days": 2190, "days_push": 7, "days_rel": 376, "gap_med": 74.0, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2747, forks 103 (observed 2026-08-28T04:07:17.790945+00:00)

## What it is
Mosaic is a Kotlin library for building terminal (console) UIs using the Jetpack Compose compiler and runtime, inspired by Ink. It lets developers write declarative, state-driven text-based interfaces with composable functions rendered to the terminal.

## Use cases
- build a terminal UI in Kotlin with Compose
- create animated CLI progress displays with live-updating state
- render test-runner style output like Jest in the terminal
- build TUI dashboards and monitoring views in Kotlin
- write declarative console apps with reactive state

## When to choose
- you want a declarative, Compose-based approach to terminal UIs in Kotlin
- you're already familiar with Jetpack Compose and want the same model on the JVM CLI
- you need dynamic, state-driven console output rather than static prints

## When to avoid
- you need a full-featured TUI with mouse support, panels, or complex widgets
- you're not using Kotlin or unwilling to apply the Compose compiler plugin
- you need a stable, long-term-supported API since the project is explicitly experimental

## Facets
- artifact type: library
- maturity: active
- function: terminal-ui, ui-components, frontend-framework
- domain: developer-tools, cross-platform
- platform: jvm, cli, cross-platform
- tags: kotlin, jetpack-compose, console-ui, ink-inspired, declarative-ui, command-line

## Member repositories
- JakeWharton/mosaic (main) score 76

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:17.790945+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-30T08:19:00.753799+00:00, confidence not recorded.
  - readme: https://github.com/JakeWharton/mosaic (fetched 2026-08-28T04:07:17.790945+00:00, sha 73f7fbf76827)
- Data as of 2026-08-30T08:39:29.467469+00:00.
