rizky-dhani/filabuilder
Filabuilder is a Laravel package that extends Filament with reusable builder components, letting you assemble forms, layouts, and UI blocks faster. It aims to cut boilerplate so you can compose admin panels and resources with less custom code. Early-stage, minimal adoption, so review the source befo...
Build vs. buy for an internal page composer. This package is a shortcut to a "compose a page from blocks, inside the admin" capability — the feature every team eventually needs for landing pages, campaign pages, help content, or policy pages. The decision it informs is not "CMS or no CMS" but "do we spend 4–6 engineer-weeks building a block registry, builder UI, and renderer, or do we adopt something small and own the thin layer around it?" At 0 stars and a single maintainer, treat it as an accelerator, not a foundation: it justifies a 1–2 day technical spike, not a roadmap commitment.
Deciding how much content capability to hand to non-engineers. The block model (HeroBlock, TextBlock, CtaBlock) is a scoped, opinionated answer to "marketing wants to ship pages without waiting on us." This is where the PM value is quantifiable: track time-to-publish for a landing page, number of pages shipped without engineering involvement, and engineering hours removed from the content queue. If those move, the model works regardless of which package renders it.
Scoping the MVP block set and the roadmap beyond it. The shipped three blocks define a de facto minimum viable editor. Roadmap decisions become concrete: which blocks do we add next (testimonial, pricing table, FAQ, embed), who owns them, and do we block freeform GrapesJS HTML editing entirely for governance reasons? That last one is a real product call — freeform HTML drag-and-drop invites brand drift, accessibility regressions, and layout breakage on mobile, whereas a curated block registry trades flexibility for safety. Decide it deliberately, not by default.
Block discoverability and admin UX investment. v1.0.12's change (SVG thumbnails → FontAwesome icons) is cosmetic on the surface but it's an adoption lever: a block menu full of blank placeholders makes an editor look broken and suppresses usage. PM judgment: low-effort polish on the editor surface is usually worth it, because internal tool adoption dies quietly when the tool feels unfinished.
Dependency and risk posture as a product decision. The release introduces a FontAwesome CDN as a runtime dependency of the admin UI, version-pinned to 6.7.2. That's a decision to make explicitly — allowlist the CDN, or self-host the assets via a published view override. It also signals that presentation changes to this package can reach into your CSP and privacy review, which affects how much of it you let into your product surface.
Vendor-risk contingency planning. With 0 stars, no visible community, and a naming/positioning mismatch between the repo description (Filament scaffolding API) and the actual capability (a GrapesJS-based block/page builder), part of the decision is: if the maintainer stops, can we fork and own it? The answer here is unusually good — Blade views, a config block registry, JSON payloads — so the exit cost is low. That materially de-risks a "buy" call.
Adopt (or spike on it) when:
Look elsewhere when:
Due-diligence gate before any adoption: confirm supported Laravel/PHP versions, whether the FontAwesome CDN URL is overridable, whether the builder degrades gracefully with icons blocked, and whether custom blocks are expected to register icons. The v1.0.12 upgrade risk itself is low (cosmetic only), but "icons disappeared" is a support-ticket-shaped failure, not an error-shaped one.
To executives: "This is a small, low-cost bet that lets marketing and ops publish landing and content pages themselves inside the admin we already have, instead of queuing engineering work. The integration is days, not weeks, and the exit cost is low because the output is plain Laravel views and JSON — we're not locked in. The caveat is maturity: it's a young, single-maintainer package, so we treat it as a head start we're prepared to own, not a platform we're betting the roadmap on."
To engineering: "It's a block-registry-plus-renderer with a Blade view layer. Integration is Composer install, publish config and views, mount the builder behind admin middleware, and render pages by resolving block types from stored JSON with a fallback for unknown types. Two things to own: validate server-side (the builder UI is not a security boundary), and self-host FontAwesome rather than depending on the CDN, since it's now a runtime dependency of the admin UI. Keep custom block icons in the block class so there's one source of truth. Upgrade risk for v1.0.12 is low — the realistic failure is a stale published view."
To security and ops: "No new public attack surface; the builder sits behind admin middleware. The change to review is a FontAwesome 6.7.2 CDN reference in an admin view — that's a CSP (style-src, font-src) and supply-chain question. We'll either allowlist the pinned CDN or self-host the assets. We'll also add the failure mode to the runbook: blank icons mean CSP/CDN blocking or a stale compiled view, not a code bug."
The honest framing to keep in the room: the package's own description and its actual capability don't match, and there's no community around it. That's a signal to run a contained spike with a named owner and a fork contingency — not a reason to say no, and not a reason to say yes without one.
How can I help you explore Laravel packages today?