johnrivera7/filament-custom-dashboard-widgets
A Filament package for building custom dashboard widgets in Laravel. Add configurable, reusable widgets to admin dashboards with a simple API, making it easy to tailor Filament panels to your app's metrics and workflows.
Architecture fit. johnrivera7/filament-custom-dashboard-widgets is a Filament plugin that extends the dashboard widget layer of a Laravel admin panel. It is a presentation-tier dependency: it composes Filament's existing widget contracts rather than introducing its own persistence, queue, or service-provider heavy machinery. For a TALL-stack application already on Filament, this is an additive, low-coupling fit. For anything not on Filament, it is irrelevant — the package has no value outside that ecosystem.
Integration feasibility. Installation is a single Composer require with no published migrations, config, or asset pipeline implied by the release notes. The 1.0.2 change to minimum-stability: stable materially improves feasibility: prior to this, consumers on default Composer settings could hit stability-filter resolution failures when pulling the package transitively. That was a distribution defect, not a code defect, and its removal is the most consequential line in this release for a TPM.
Technical risk. Low-to-moderate, concentrated in two areas. First, the package is at 1.0.2 under what appears to be a single-maintainer namespace — bus factor and long-term maintenance are the dominant risks, not code quality. Second, Filament ships major versions with breaking API changes to its widget layer; the notes are silent on which Filament major this targets, which is the single largest unknown for compatibility planning.
Key questions.
filament-hidden fix a symptom of broader CSS specificity issues, or an isolated regression?Stack fit. Requires Laravel plus Filament. The package owns no database surface, so it slots in alongside existing dashboard configuration without touching domain models or migrations. Treat it as a UI dependency and place it in require rather than require-dev, since dashboard widgets are runtime code.
Migration path. Purely additive. No data migration, no backfill, no cutover. Rollback is a Composer revert plus removal of widget registrations — cheap and reversible, which is the main argument for adopting early.
Compatibility. Pin the package to ^1.0 as the README instructs, but pin Filament and Laravel majors explicitly in the root composer.json so a transitive resolution cannot silently pair an untested Filament major with this plugin. Confirm the Filament constraint in the package's own composer.json before merging; if it is a permissive wildcard, that is a latent breakage vector and should be constrained at our layer.
Sequencing.
stable.filament-hidden path specifically — this release's only functional change — including image widgets in both hidden and visible states.Maintenance. Minimal ongoing effort: view-layer code, no runtime services, no scheduled jobs. The real cost is upgrade tracking against Filament majors, which the package maintainer may or may not keep pace with. Budget for the possibility of forking or vendoring if the package goes stale during a Filament upgrade.
Support. Single-maintainer project with no indicated commercial backing. Escalation path is GitHub issues only. For an internal admin dashboard this is acceptable; it would not be acceptable for a customer-facing surface.
Scaling. Negligible infrastructure impact — widgets render server-side within the existing Filament request cycle. Watch only for per-widget query counts if any widget aggregates data; a dashboard with many such widgets can multiply query load on page load. Verify with realistic data volumes rather than assuming.
Failure modes.
filament-hidden class being applied to the wrong element — the exact bug fixed here — is a silent, visual-only failure that tests will not catch. Add a visual check to the upgrade checklist.Ramp-up. Hours, not days, for a developer already fluent in Filament — install, register, style. For a team new to Filament, the package is not the learning curve; Filament itself is. Do not adopt this package as a way to introduce Filament.
How can I help you explore Laravel packages today?