Product Decisions This Supports
- Build vs. buy for export/ reporting capability. Every back-office admin eventually needs "get this table into Excel." This package is a candidate to satisfy that need off-the-shelf instead of spending 2–6 engineering weeks building column pickers, queued generation, download links, and format handlers in-house. The decision it informs: do we staff an export subsystem, or buy a thin plugin on top of Filament?
- Roadmap sequencing for admin/ops surfaces. If your roadmap contains items like "let ops pull a filtered list of orders," "give finance a monthly reconciliation extract," or "let customers download their account data," this package can convert those from multi-sprint features into configuration work — freeing capacity for revenue-facing work.
- Customer-facing data portability / compliance asks. GDPR/CCPA-style "export my data" requests and enterprise procurement questionnaires ("can we get our data out?") are frequently deprioritized. A low-cost export plugin turns a compliance checkbox into a small, bounded ticket.
- Feature scope decisions on existing Filament panels. Useful for deciding whether to expose raw tables + export to internal users (cheap) versus building bespoke reporting screens (expensive). Export-as-a-feature is often the 80/20 substitute for a real BI tool in the first 12–18 months of a product.
- Tooling investment in internal platforms. Signals whether the team's admin panel is a strategic asset worth extending with plugins, or a stopgap that should be replaced by a managed BI layer (Metabase, Looker, etc.).
- Not a decision this supports: anything requiring guaranteed uptime, vendor support contracts, or audit-grade reporting. See the adoption criteria below.
When to Consider This Package
Consider it when most of these are true:
- You are already running Filament (v3/v4) and your exports need to live inside existing resource tables, not in a separate tool. The value here is integration, not export logic — standalone packages win if you're not on Filament.
- You need more than
->headerActions([ExportAction::make()]) — e.g., column selection, queued/large exports, multi-format output, or per-user export scoping — but less than a BI platform.
- Your data volumes are modest to moderate (tens of thousands of rows per export) and a queued job finishing in seconds-to-minutes is acceptable UX.
- You have Laravel engineers who can read the source. At 8 stars and 0 dependents, you are not buying a product; you are adopting code. Budget a half-day spike to review it and assume you may fork it.
- Licensing matters and MIT fits. No per-seat cost, no procurement cycle, forkable — genuinely useful for budget-constrained teams and for embedding in client work.
- The export surface is internal-first (ops, finance, support). Internal tolerance for rough edges is far higher than customer-facing.
Look elsewhere — or build — when:
- You're not on Filament. The entire value proposition is the Filament integration; without it you're paying a dependency tax for glue code.
- Maturity risk is unacceptable. 8 stars, 0 dependents, and a single maintainer is the profile of a package that can go quiet. If exports are on a customer-facing SLA or a contractual deliverable, choose a maintained alternative (Laravel Excel / PhpSpreadsheet directly, or a commercial reporting layer) or vendor the code in.
- You need scale. Streaming, chunked exports of millions of rows, chunked memory guarantees, or export-from-replica patterns are unlikely to be first-class here. Verify before committing.
- You need audit/compliance features — export logs, who-exported-what, PII redaction, retention policy, encryption at rest. These are rarely in a small plugin; you'll build them anyway.
- You need formatting fidelity — pixel-perfect PDFs, templated statements, multi-sheet workbooks with formulas and styling. That's a rendering problem, not an export-button problem.
- Your platform team already standardizes on a data warehouse / BI layer. Adding a second, divergent export path creates a reporting inconsistency you'll pay for later.
Decision gate I'd apply: time-box a one-day spike. Ship one real export end-to-end against production-shaped data. If it holds up and the source is readable, adopt with the code vendored or pinned; if not, fall back to building on Laravel Excel. Either way you've spent a day, not a sprint.
How to Pitch It (Stakeholders)
To executives:
This is a small, MIT-licensed plugin that adds "export this data" to the admin tools we're already building on Filament. The economics are the argument: it converts a recurring class of request — finance wants an extract, ops wants a filtered list, a customer asks for their data — from a multi-week engineering project into days of integration work. No license cost, no procurement, no vendor lock-in, and because it's MIT we can take ownership of the code if we ever need to. The honest caveat is maturity: it's an early-stage, single-maintainer project with a small user base, so I'd treat it as code we adopt rather than a product we depend on. Recommendation: fund a one-day technical spike, pin or vendor the version we validate, and keep the export path behind our own interface so swapping it out later is a contained change, not a rewrite. If the spike fails, the fallback is well-understood and only costs us the day.
To engineering:
The pitch is not "use this library," it's "don't hand-roll export plumbing again." Filament's built-in export action covers the simple case; this fills the gap for column selection, queued generation, and multi-format output inside resource tables — the exact 20% that consumes 80% of the effort every time. Low integration cost, MIT, forkable, no runtime surprises beyond a Composer dependency. What I need from you in the spike: does it queue properly, what's the memory profile at 50k–100k rows, is the source clean enough that we'd be comfortable maintaining a fork, and does it hold up if the maintainer goes quiet for a year. I want the export capability wrapped behind our own action/service so the dependency is one file deep and replaceable. If the answer is "it needs patches to survive our data," say so — building on Laravel Excel directly is a perfectly good outcome and we'll have lost a day, not a quarter.