petecoop/filament-toolbar-filters
A Filament plugin that adds toolbar filters to your admin tables, letting users refine records quickly from a compact toolbar instead of the standard filter form. Simple to install and configure for faster, cleaner table filtering.
Admin UX investment where usage is high but tolerance for clutter is low. The package addresses a specific, measurable friction: users who would filter a table but won't open a modal-heavy filter panel. In internal admin tools, that shows up as support requests ("how do I find X?"), slow task completion, and users exporting to spreadsheets to do the filtering themselves. Toolbar filters are a cheap lever on those metrics.
Build vs. buy for a narrow UI capability. This is not a platform decision; it's a "do we spend a sprint of design and frontend time customizing Filament's filter panel, or do we take a small MIT dependency?" Toolbar filters are a genuine gap in the default table experience, and hand-rolling inline filter dropdowns inside a Filament resource means owning Blade views, state handling, and query wiring through every Filament upgrade. Adopting a thin package is the cheaper option if the dependency stays thin.
Roadmap sequencing for the admin surface. Useful as a low-risk, high-visibility win to slot into a hardening or polish cycle rather than a headline feature release. It's a candidate for "improve ops tooling this quarter" workstreams where the success metric is task completion time or filter adoption, not new capability.
Feature-scoping input for internal tooling requests. When a stakeholder asks for "better search" or "saved views" in an admin panel, this package defines the floor of what's cheaply available. Knowing the floor exists prevents over-scoping a custom search experience when a compact filter toolbar solves 80% of the complaint.
Explicitly not a decision it supports: anything on a revenue, billing, compliance, or customer-facing path. Zero stars, a 0.1.0 tag with empty release notes, and no stated compatibility matrix mean this is an internal-tooling experiment, not infrastructure.
Buy-vs-build caveat for the PM. The build-side cost is lower than it looks only if the package remains a thin adapter over native Filament filter definitions (as described). If evaluation shows it introduces its own container bindings, config tree, and state semantics, the calculus flips — you're now buying a small UI win at the price of owning an abstraction.
Consider it when:
Look elsewhere when:
1.0.0 or a documented stability commitment.Adoption gate (conditions, not preferences): a declared and CI-verified PHP/Laravel compatibility matrix, a populated changelog, and a demonstrated rollback path exercised in a spike. Absent any of the three, defer.
To executives — one paragraph: This is a small, MIT-licensed UI add-on for our internal admin tooling that makes table filters visible and one click away instead of buried in a modal panel. The upside is faster task completion and fewer "how do I find this record" requests from back-office users; the cost is a few days of evaluation and near-zero licensing. The risk is that it's an early-stage open-source project (initial 0.1.0 release, no changelog, no stated support) — which is why the recommendation is a time-boxed pilot on one non-critical admin screen behind a feature flag, with a documented removal path, not a broad rollout. It is not suitable for anything customer-facing or revenue-critical, and we should not treat it as a platform commitment.
To engineering — the ask: Validate this as a thin adapter, not a framework. Specifically: confirm composer.json constraints against our pinned PHP and Laravel versions; check that it registers minimally in the container and defines no global helpers or facade aliases that collide; verify it behaves under queue workers and Octane; and deliberately uninstall it during the spike so we know the exit cost rather than assuming it. We consume it pinned to an exact version, with dependency-bot upgrades routed through human review. If the spike shows it carries its own abstraction layer or config semantics we'd have to own, we stop and build the small Blade component instead.
To design and ops stakeholders: the user-visible change is compact dropdown and button filters inline above the table, reusing the filter definitions we already maintain — so no new filter-admin workflow and no new configuration surface for operators. Success looks like higher filter usage and shorter time-to-find on the pilot screen; we'll instrument that before deciding whether to extend it.
The honest framing to include every time: zero stars and an empty 0.1.0 changelog are signals about release hygiene and community validation, not about code quality — but we can't distinguish "early and active" from "abandoned experiment" from the artifact alone. Treat this as an internal-tooling bet with a cheap exit, sized accordingly, and revisit if the project reaches 1.0.0 with documented releases.
How can I help you explore Laravel packages today?