finds.dev← search

// the find

woylie/flop_phoenix

★ 503 · Elixir · MIT · updated Jul 2026

Components for pagination, sortable tables and filter forms using Phoenix, Ecto and Flop

Flop Phoenix is a component library for Phoenix/LiveView that wires pagination, sortable tables, and filter forms to Flop (the Ecto query library). It's for Phoenix developers who want working table UIs without writing the URL parameter plumbing themselves.

The integration with Flop's Meta struct is well thought out — passing it directly as FormData means filter forms just work without a separate changeset or manual parameter massaging. Cursor-based and page-based pagination share the same component, and the component auto-detects which to use from the Meta struct rather than requiring separate components. The `for:` option letting the table know which columns are sortable based on your Ecto schema annotations is a nice touch — sortability lives in one place. The guides directory with recipes (infinite scroll, page size control) shows the author actually uses this in real apps.

503 stars for a library that solves a genuinely tedious problem suggests the Phoenix community hasn't fully discovered it or there's a competing approach most people reach for first. The filter form component doesn't render actual inputs itself — it passes metadata to an inner block — which is the right call for flexibility, but the required boilerplate in the README is non-trivial for what should be a simple filter bar. The lib directory is flat with a handful of files; no obvious way to audit what customization hooks exist without reading the HexDocs. LiveView streams support is there but the tuple-matching ergonomics (`{_, pet}`) are awkward and will confuse anyone new to streams.

View on GitHub →

// 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 →