# adrielcafe/voyager

🛸 A pragmatic navigation library for Compose Multiplatform

Repository: https://github.com/adrielcafe/voyager
Canonical: https://ross.abutalabs.com/products/adrielcafe-voyager
Homepage: https://voyager.adriel.cafe
Language: Kotlin
License: MIT
License Family: permissive
Topics: android, android-library, android-navigation, kotlin, kotlin-android, compose, jetpack-compose, android-compose, navigation, navigator, router, deeplink, deep-links, tab-navigation, stack, transitions, transition-animation, bottom-sheet, bottomsheet
Last push: 2026-06-06T18:13:22+00:00

## Health v2 (maintenance only)
Score: 68/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 86, release rhythm 28, longevity 100
- inputs: {"age_days": 1871, "days_push": 88, "days_rel": 622, "gap_med": 73, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3089, forks 166 (observed 2026-08-28T04:07:42.232961+00:00)

## What it is
Voyager is a pragmatic navigation library for Compose Multiplatform, seamlessly integrated with Jetpack Compose. It supports linear, bottom sheet, tab, and nested navigation with ScreenModel (ViewModel) integration and deep linking across Android, iOS, Desktop, and Web.

## Use cases
- navigate between screens in a Jetpack Compose app
- build a single-activity Android app with Compose navigation
- share navigation logic across Android and iOS with Kotlin Multiplatform
- implement bottom sheet and tab navigation like the YouTube app
- handle deep links in a Compose Multiplatform app
- manage ViewModels per screen in Compose

## When to choose
- you're building a Compose Multiplatform app and need a simple, pragmatic navigation API
- you want tab, bottom sheet, or nested stack navigation out of the box
- you prefer a screen-based API with built-in ScreenModel/ViewModel integration
- you need deep linking and state restoration in a Compose app

## When to avoid
- you need built-in iOS swipe-back or predictive back animations (only community solutions exist)
- you need built-in result passing between screens
- you're not using Jetpack Compose or Compose Multiplatform
- you prefer official AndroidX Navigation or Decompose's more feature-complete approach

## Facets
- artifact type: library
- maturity: active
- function: routing, state-management, mobile-framework, ui-components
- domain: mobile-development, cross-platform, frontend
- platform: jvm, wasm, cross-platform
- tags: jetpack-compose, compose-multiplatform, navigation, deeplinks, bottomsheet-navigation, tab-navigation, screenmodel, single-activity, android, ios, desktop

## Member repositories
- adrielcafe/voyager (main) score 68

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:42.232961+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-30T07:27:29.694296+00:00, confidence not recorded.
  - readme: https://github.com/adrielcafe/voyager (fetched 2026-08-28T04:07:42.232961+00:00, sha 11ae1256e56d)
  - homepage: https://voyager.adriel.cafe (fetched 2026-08-29T09:42:38.878263+00:00, sha af64afd05ca1)
  - site_page: https://voyager.adriel.cafe/faq (fetched 2026-08-29T09:42:38.887222+00:00, sha ab3bb852233d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
