ffhs/filament-package_ffhs_custom_forms
FFHS Custom Forms is a Filament package for Laravel that enables you to create, manage, and reuse dynamic forms with configurable fields and reusable form definitions. It integrates into Filament panels and simplifies collecting and handling form submissions in admin interfaces.
Architecture fit. This is a Filament plugin packaged as a Laravel package, so it only fits a TALL-stack admin surface. Its value proposition — persisted, user-defined form definitions with rendering and submission handling — addresses a genuine gap: Filament's native form builder is developer-defined at code time, not runtime-editable by end users. If our roadmap includes letting non-engineers compose forms (surveys, intake, internal requests), the capability is real. If our admin layer is Nova, Blade, or a separate SPA, fit is effectively zero and the package is a non-starter.
Integration feasibility. Mechanically straightforward: Composer require, service provider auto-discovery, publish config and migrations, register the plugin on a Filament panel. The blockers are not mechanical. With 17 stars and zero dependents, there is no public evidence of anyone installing this outside its originating institution. The package is explicitly scoped to Fernfachhochschule Schweiz, which raises predictable concerns: German-first UI strings, institutional assumptions in field types and workflows, and possibly hard-coded academic semantics that will not generalize. The release date of 2026-05-21 is also ahead of any plausible present date, which is a data-quality signal worth resolving before we trust the release history at all.
Technical risk. High, concentrated in four areas:
Key questions to put to the maintainers before a spike:
Stack fit. Proceed only if we are already committed to Filament and Laravel. The package is a borrow, not a build, and it should be treated as an accelerator for a bounded capability — runtime-editable forms — not as a platform dependency.
Migration path. Do not migrate existing forms into it. Treat it as greenfield-only, for new, low-blast-radius internal forms. If the spike succeeds but the package needs material changes, plan a maintained internal fork from day one rather than patching vendor/; patching vendor is how teams quietly acquire an unmaintainable fork they cannot upgrade.
Compatibility. Pin exact versions in composer.json and add the package to our dependency-review gate. Build a small test matrix against our current Filament major and the next one, so we learn about the upgrade cliff before it lands on us. Audit the service provider for global side effects, published migrations, and config keys that could collide.
Sequencing.
FormDefinition/FormSubmission interface and adapt the package behind it, so replacement is a swap and not a rewrite.Maintenance. Assume we own this. Budget a named engineer for dependency bumps and Filament-major migrations. If the upstream repo goes quiet — which the adoption numbers make plausible — the fork becomes the product, and that cost should be priced in before the pilot, not after.
Support. There is no SLA and no commercial backing. Support is GitHub issues on an academic timeline. Our team must be capable of reading the source and fixing defects, or we should not adopt.
Scaling. Form rendering adds per-request overhead and submission volume adds DB growth; both are likely fine at internal scale (hundreds of forms, thousands of submissions) and unproven beyond it. The scaling risk is less about throughput than about schema evolution: changing a form definition after submissions exist is the hard problem, and it is unclear whether the package handles it.
Failure modes to plan for, in likelihood order:
Ramp-up. Low for Filament-fluent engineers — perhaps one to two days to productive use — but documentation is likely thin, so the real ramp is reading the source. Non-Filament engineers should not be staffed on it. Total onboarding estimate: two to three days per engineer, plus the pilot owner's time.
TPM recommendation. Do not adopt as a strategic dependency on the current evidence. Run the compatibility audit and sandbox spike as a timeboxed, low-cost option assessment, with the fork-or-replace decision gate scheduled before any production commitment. The package is worth evaluating because the capability gap is real; it is not yet worth depending on.
How can I help you explore Laravel packages today?