finds.dev← search

// the find

naymspace/backpex

★ 844 · Elixir · MIT · updated Sep 2026

Backpex is a highly customizable administration panel for Phoenix LiveView applications.

Backpex is a Phoenix LiveView library that generates CRUD admin panels directly from your Ecto schemas — think Rails admin or Django admin, but LiveView-native so pages update over the socket instead of a client-side framework. It's for Elixir/Phoenix teams who need an internal backoffice fast and don't want to hand-roll LiveView forms and tables for every resource.

LiveView-native CRUD means real-time table updates and form validation without a separate JS build step. The field type system covers the practical cases out of the box (upload, currency, associations including HasMany/Through with configurable columns) and is extensible with custom field modules. The demo app's test suite is unusually thorough — every resource gets the full matrix (index, edit, ordering, pagination, item actions, filters) rather than a handful of smoke tests, which suggests the library is actually exercised end-to-end. Authorization is plain pattern matching instead of a bolted-on DSL, and it explicitly supports wiring in an external authorization library instead of locking you into its own.

Ecto is the only adapter (lib/backpex/adapters/ecto.ex) — a reasonable bet since nearly every Phoenix app uses Ecto, but there's no abstraction if you're not. The README shows zero actual code — no example of what a LiveResource module looks like — so you can't judge how verbose or awkward the API is without clicking through to hexdocs. At 844 stars/80 forks, you're trusting a small maintainer team's design calls for something as load-bearing as your admin backend, with far less battle-testing than Rails or Django's admin equivalents. User preference persistence (filters, sort, pagination state) has its own adapter and controller layer, which is another subsystem to learn if the defaults don't fit your storage needs.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →