Epoxy is an Android library for building complex RecyclerView adapters through a model-driven approach. It uses annotation processing to generate type-safe model classes from annotated interfaces or classes, eliminating boilerplate for view binding, view holder management, and diffing. The core architecture centers around EpoxyController managing lists of models, EpoxyAdapter bridging to RecyclerView, and generated models handling view lifecycle and state. Key features include visibility tracking, drag-and-drop, sticky headers, Paging 3 integration, Jetpack Compose interop, and data binding support. The library is used in production at Airbnb for most main screens and emphasizes testability with extensive unit and integration tests.