know.2nth.ai Technology tech frameworks filament
tech/frameworks · Filament · Skill Leaf

Declare a Resource. Inherit the admin.

Filament is the de-facto admin layer of the Laravel world: an MIT-licensed UI framework where you declare a Resource — a model, its form fields, its table columns — and inherit the working admin panel: CRUD, validation, search, filters, auth, notifications, dashboards. Server-driven on the TALL stack (Tailwind, Alpine, Livewire, Laravel), 34.9M+ downloads, and a 982-plugin ecosystem. It's the Frappe-doctype move — declare the metadata, inherit the machinery — rebuilt as a primitive layer on a general-purpose framework.

Live PHP · Laravel MIT TALL stack v5 · Jan 2026

A set of packages that compose into a panel.

Filament ships as composable packages — Forms, Tables, Infolists, Notifications, Actions, Widgets — that can be used individually inside any Livewire app, or together through the Panel Builder, which is what most people mean by "Filament": a full admin panel with navigation, auth, global search, and resource pages generated from your declarations. Everything renders server-side through Livewire; there is no separate frontend build, no API layer between the panel and your models.

The numbers, as of August 2026: 31.9k GitHub stars, 34.9M+ downloads, 982+ community plugins, ~19.4k Discord members, MIT licence, repo actively maintained (pushed this week, 57 open issues). In the Laravel ecosystem this is not a contender — it's the default.

Why this matters for 2nth builds

2nth production systems are Frappe-first — doctypes already give us this pattern with a whole platform attached. Filament matters when the client is a Laravel shop: it's the answer to "how do we get a decent back office without a frontend team", in their stack, with their talent. The decision guide below is blunt about the other direction: we don't introduce PHP to get Filament.

The declarative-primitive pattern, productised for PHP.

The tree keeps meeting the same architecture: declare the metadata once, inherit the machinery. Frappe calls it a doctype. The platform-primitives leaf calls it a Layer-2 composable. Filament is that pattern shipped as the Laravel ecosystem's standard part.

ConcernFrappe doctypeFilament Resource
You declareA doctype (fields + permissions, JSON/UI)A Resource class (form schema + table, PHP)
You inheritTable, form, REST API, permissions, list viewsAdmin pages, CRUD, validation, search, filters, auth
Comes withA whole opinionated platform (ORM, queue, users, ERPNext above it)Just the primitive layer — Laravel provides the rest
Escape hatchServer scripts, hooks, custom appsLivewire components, plugins, plain Blade/PHP
Wins whenYou want the platform — ERP-shaped systems of recordYou have a Laravel codebase and need its back office

That last row is the whole decision. Frappe gives you the primitive and the platform; Filament gives you the primitive on top of the framework you already run. Neither is the other's replacement — which is exactly what the platform-primitives leaf predicts: the pattern recurs at different layers of ownership.

The Resource is the unit of everything.

One artisan command scaffolds it; two declarations — a form schema and a table — drive every page. Filament v5 syntax, verified against the current docs.

# scaffold a resource for an Eloquent model
php artisan make:filament-resource Customer
// CustomerResource.php — the declarations the panel is generated from
public static function form(Schema $schema): Schema
{
    return $schema->components([
        TextInput::make('name')->required(),
        TextInput::make('email')->email()->required(),
    ]);
}

public static function table(Table $table): Table
{
    return $table->columns([
        TextColumn::make('name')->searchable(),
        TextColumn::make('email')->sortable(),
    ]);
}

From those two methods Filament renders the list page, the create and edit forms, validation, search, sorting, and the action modals — all as Livewire components talking directly to Eloquent. Larger apps typically split the schema and table into their own classes (CustomerForm::configure($schema)), which keeps resources thin and the declarations reusable. Beyond resources, the same schema language drives standalone wizards, settings pages, and dashboard widgets.

An honest major version — and a telling product launch.

Filament v5 (16 January 2026) contains no new features. The project says so plainly: the major bump exists for Livewire 4 support, full stop, with features resuming in the minors (5.2 added callouts and stacked modals in February). Credit where due — a framework that refuses to inflate a compatibility release into a marketing event is telling you something about how it will treat your upgrade path.

The genuinely new thing launched alongside v5 is Filament Blueprint: a premium extension for Laravel Boost that gives AI coding agents deep, structured knowledge of Filament — its APIs, conventions, and current-version syntax — so generated code targets the framework correctly. Read that against this tree's software-for-agents leaf: grounding an agent in a framework's conventions is exactly the memory/skills/grounding problem, and Filament is the first major framework to sell the grounding as a product. Declarative resources were already the ideal codegen target; Blueprint is the vendor noticing.

982 plugins is a strength and a surface.

The plugin directory covers most of what an admin panel grows into — media libraries, importers, permission managers, calendar views, multi-tenancy helpers — with a mix of free and author-paid packages. Combined with the wider Laravel gravity (Livewire, Alpine, the package ecosystem), the practical effect is that a competent Laravel developer assembles in days what used to be a frontend team's quarter.

The caution is the same one the tree applies everywhere: every plugin is a dependency with an author behind it. Quality and maintenance vary across 982 packages; the supply-chain discipline (pin versions, read the code you install, prefer first-party where it exists) is part of the cost of the speed.

Where it bites you.

Server-driven UI is a fence, not a flaw — but know where the fence is. Every Livewire interaction is a server round-trip. For an internal tool on a decent connection that's invisible; for a public, high-traffic, latency-sensitive surface it's the wrong architecture, and no amount of plugins changes that. Filament is for the back office. Its own positioning agrees; deployments that forget it don't.

Major versions have real migration cost. The v3→v4 cycle unified the schema system and changed core signatures (form(Form $form) became form(Schema $schema)); v5's honesty about being a compat bump is partly a response to that churn. Budget upgrade time for a framework this central to your admin — and note that the ecosystem's 982 plugins each migrate on their author's schedule, not yours.

It requires being a PHP shop. Obvious, but it's the decision most often gotten wrong: Filament is a reason to stay happily in Laravel, never a reason to adopt it.

When it fits. When it doesn't.

Use Filament when…Skip it when…
You're a Laravel shop needing an admin panel, back office, or internal CRUD tool — it's the ecosystem default for a reasonThere's no PHP in the building — don't introduce a stack to get an admin panel
A small team must ship a real back office without a dedicated frontend teamThe surface is public, high-traffic, or latency-sensitive — server round-trips are the wrong shape
Your admin is CRUD-heavy over Eloquent models — the declarative payoff is maximalYou're already on Frappe/ERPNext — doctypes give you this pattern with the platform attached
AI-assisted development matters — declarative resources are strong codegen targets, and Blueprint formalises the groundingYou need offline-first or SPA-grade interactivity — that's a different architecture, not a plugin

How this node connects in the tree.

Filament is the tree's first PHP-ecosystem leaf, and it earns the slot as evidence for a pattern the tree keeps finding: declare the metadata, inherit the machinery — and in the agent era, whoever owns the declarations owns the codegen target. For SA delivery the fit is real: the local agency and hosting world remains heavily PHP, and an MIT stack on commodity hosting is a rand-friendly cost base.

Go deeper.

Primary sources only. The v5 announcement is worth reading as an example of how to communicate a compatibility release. Last reviewed 2026-08-22.