// the find
naymspace/backpex
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.