# Epoxy

Epoxy is an Android library for building complex screens in a RecyclerView

Repository: https://github.com/airbnb/epoxy
Canonical: https://ross.abutalabs.com/products/epoxy
Homepage: https://goo.gl/eIK82p
Language: Java
License: Apache-2.0
License Family: permissive
Last push: 2026-01-23T23:35:25+00:00
Link (homepage): https://goo.gl/eIK82p

## Health v2 (maintenance only)
Score: 68/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 63, release rhythm 55, longevity 100
- inputs: {"age_days": 3677, "days_push": 222, "days_rel": 222, "gap_med": 62, "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 8551, forks 734 (observed 2026-08-28T04:10:23.467819+00:00)

## What it is
Epoxy is an Android library from Airbnb for building complex RecyclerView screens with multiple view types. It generates models from custom views or databinding layouts via annotation processing and handles view holders, diffing, item ids, and state saving automatically.

## Use cases
- build complex recyclerview screens with multiple view types
- reduce recyclerview adapter boilerplate in android apps
- automatically diff and update list items
- create carousels and mixed-content lists
- save recyclerview view state across configuration changes
- generate epoxy models from custom views or databinding layouts

## When to choose
- building Android screens with heterogeneous list content like headers, carousels, and loading rows
- you want declarative, composable RecyclerView adapters without manual view holder code
- your team uses Kotlin or Java with Gradle and wants annotation-generated models

## When to avoid
- building a Jetpack Compose app where RecyclerView is not used
- you only need a simple single-view-type list
- your project does not target Android

## Facets
- artifact type: library
- maturity: stable
- function: ui-components, state-management
- domain: mobile-development, android-tools, frontend
- platform: -
- tags: recyclerview, android-ui, annotation-processing, diffing, jetpack-compose-alternative, kotlin, android

## Member repositories
- airbnb/epoxy (main) score 68
- airbnb/epoxy-ios (main) score 65

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:23.467819+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-29T17:26:19.045883+00:00, confidence not recorded.
  - readme: https://github.com/airbnb/epoxy (fetched 2026-08-28T04:10:23.467819+00:00, sha eba65df1daef)
  - homepage: https://goo.gl/eIK82p (fetched 2026-08-29T08:26:37.493670+00:00, sha 148c1f194c15)
- Data as of 2026-08-30T08:39:29.467469+00:00.
