A Laravel Livewire 4 Framework

Build Business Applications
and Admin Panels

Zero intrusion into your application — no traits, no base classes, no code changes. Just YAML configs that work alongside your existing code.

Simplified preview. Try the full Live Demo
JD
Leads (22)
Filters
Qualified
09/25/2026
Won
07/22/2026
Proposal
09/05/2026
Qualified
09/30/2026
Proposal
09/18/2026
Won
08/10/2026
Proposal
09/12/2026
New
11/21/2026
Qualified
10/14/2026
Won
07/31/2026
Customers (24)
Filters
Mid-Market
12/03/2021
Mid-Market
03/09/2022
Mid-Market
04/18/2023
Enterprise
03/12/2021
Enterprise
11/19/2020
SMB
10/05/2023
SMB
01/29/2024
SMB
11/15/2023
SMB
08/07/2023
SMB
03/22/2024
Products (26)
Filters
Audio
Audio
Displays
Accessories
Storage
Storage
Storage
Audio
Storage
Networking
JD
Employees (24)
Filters
Sales
08/03/2020
Active
Customer Support
07/01/2026
Onboarding
Product
05/17/2021
Active
Sales
06/11/2018
Active
Product
04/11/2022
Active
Finance
06/19/2023
Active
Marketing
06/15/2026
Active
Engineering
01/09/2023
On Leave
Sales
03/29/2021
Active
Customer Support
09/04/2023
Active
Departments (8)
Filters
Time Off (20)
Filters
Vacation
12/21/2026 12/31/2026
Pending
Unpaid Leave
11/02/2026 11/13/2026
Rejected
Vacation
10/26/2026 10/30/2026
Approved
Vacation
10/12/2026 10/23/2026
Pending
Unpaid Leave
10/05/2026 10/09/2026
Rejected
Vacation
09/21/2026 10/02/2026
Pending
Vacation
09/14/2026 09/18/2026
Pending
Vacation
09/07/2026 09/18/2026
Pending
Vacation
08/31/2026 09/04/2026
Approved
Vacation
08/24/2026 08/28/2026
Approved
JD
Projects (20)
Filters
01/22/2027
On Track
12/18/2026
On Track
12/11/2026
On Track
12/04/2026
On Track
11/27/2026
On Track
11/20/2026
On Track
11/13/2026
At Risk
11/06/2026
On Track
10/30/2026
On Track
10/23/2026
On Track
Tasks (30)
Filters
11/06/2026
Medium
Open
10/12/2026
Low
Open
10/08/2026
Medium
Open
10/05/2026
Low
Open
10/01/2026
Low
Open
09/30/2026
High
Open
09/29/2026
Low
Open
09/25/2026
Medium
Open
09/23/2026
Medium
Open
09/17/2026
Medium
Open
Employees (24)
Filters
Sales
08/03/2020
Active
Customer Support
07/01/2026
Onboarding
Product
05/17/2021
Active
Sales
06/11/2018
Active
Product
04/11/2022
Active
Finance
06/19/2023
Active
Marketing
06/15/2026
Active
Engineering
01/09/2023
On Leave
Sales
03/29/2021
Active
Customer Support
09/04/2023
Active
JD
Products (26)
Filters
Audio
Audio
Displays
Accessories
Storage
Storage
Storage
Audio
Storage
Networking
Warehouses (4)
Filters
Low Stock (7)
Filters
Storage
Networking
Audio
Audio
Audio
Accessories
Displays
JD
Invoices (28)
Filters
09/12/2026
Open
09/04/2026
Open
09/01/2026
Open
08/30/2026
Paid
08/28/2026
Open
08/25/2026
Open
08/22/2026
Open
08/19/2026
Open
08/15/2026
Open
08/12/2026
Paid
Expenses (24)
Filters
08/12/2026
Travel
Submitted
08/11/2026
Software
Approved
08/10/2026
Travel
Reimbursed
08/08/2026
Software
Approved
08/07/2026
Office
Reimbursed
08/06/2026
Marketing
Approved
08/05/2026
Hardware
Submitted
08/04/2026
Software
Reimbursed
08/03/2026
Travel
Approved
07/31/2026
Office
Reimbursed
JD
Tickets (24)
Filters
High
Open
08/14/2026
Urgent
Open
08/14/2026
Urgent
In Progress
08/13/2026
High
Open
08/13/2026
High
Open
08/12/2026
Medium
Open
08/12/2026
Medium
In Progress
08/11/2026
High
Open
08/11/2026
Medium
Open
08/10/2026
High
In Progress
08/09/2026
My Queue (5)
Filters
High
Open
08/14/2026
Urgent
In Progress
08/13/2026
High
Open
08/12/2026
Medium
Open
08/10/2026
High
In Progress
08/08/2026
Knowledge Base (18)
Filters
Account & Billing
08/14/2026
Best Practices
08/13/2026
Integrations
08/12/2026
Troubleshooting
08/11/2026
Integrations
08/09/2026
Getting Started
08/07/2026
Integrations
08/05/2026
Best Practices
08/03/2026
Getting Started
08/01/2026
Getting Started
07/30/2026

We built NOERD noerd because we needed a Laravel Livewire framework that is completely decoupled from your production code - no traits, no intrusion into your architecture. Just YAML configuration and a standalone panel that exists alongside your code.

Get Started in Seconds

Install noerd with a single command and start building business applications right away. The guided setup creates everything you need — tenants, users, and demo data.

Read the Docs
Terminal
$ composer require noerd/noerd

$ php artisan noerd:install

 Default tenant created
 Admin user created
 Demo data installed
 Ready at /noerd-home
Terminal
$ php artisan noerd:make-app

 ┌ Where should the app be created? ───────────────────────┐
 │ Project                                                 │
 └─────────────────────────────────────────────────────────┘

 ┌ App Title (display name) ───────────────────────────────┐
 │ Inventory Management                                    │
 └─────────────────────────────────────────────────────────┘

 ┌ App Name (unique identifier) ───────────────────────────┐
 │ INVENTORY                                               │
 └─────────────────────────────────────────────────────────┘

 ┌ Search for a Heroicon ──────────────────────────────────┐
 │ archive-box                                             │
 └─────────────────────────────────────────────────────────┘

Created: resources/views/components/inventory-dashboard.blade.php
Route added: inventory.dashboard
Created: app-configs/inventory/navigation.yml

Dashboard files created successfully!
Tenant app created successfully!
App assigned to 1 tenant(s).
1

Create the App

One command registers the app — display title, unique name, and a Heroicon — and scaffolds everything around it: the dashboard component, its route, and the app's navigation.yml. At the end you pick the tenants that get the app. Every prompt is also available as an option for non-interactive use.

Terminal
$ php artisan make:model Customer -m

  INFO  Model [app/Models/Customer.php] created successfully.

  INFO  Migration [..._create_customers_table.php] created
        successfully.
app/Providers/AppServiceProvider.php
use Illuminate\Database\Eloquent\Model;

public function boot(): void
{
    Model::unguard();
}
2

Create Model & Migration

noerd builds on plain Eloquent models — create one with its migration exactly as you always would. So you don't have to configure $guarded on every model, it is recommended to unguard them globally in your AppServiceProvider.

database/migrations/..._create_customers_table.php
Schema::create('customers', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->nullable();
    $table->timestamps();
});
Terminal
$ php artisan migrate

  INFO  Running migrations.

  2026_09_03_231433_create_customers_table ........ DONE
3

Add Columns & Migrate

Add the columns your record needs before you migrate — the generator in the next step reads the finished database table to derive the list columns and the detail form fields. A table with nothing but id and timestamps produces empty screens.

Terminal
$ php artisan noerd:make-resource Customer

 ┌ Which app should this resource belong to? ──────────────┐
 │ Inventory Management                                    │
 └─────────────────────────────────────────────────────────┘

Created: resources/views/components/customers-list.blade.php
Created: resources/views/components/customer-detail.blade.php

Add list route to routes/web.php? (yes/no) [yes]
Route added: inventory.customers

Add detail route to routes/web.php? (yes/no) [yes]
Route added: inventory.customer.detail

Created: app-configs/inventory/lists/customers-list.yml
Created: app-configs/inventory/details/customer-detail.yml

Add navigation entry to inventory navigation.yml? (yes/no) [yes]
Navigation added to: app-configs/inventory/navigation.yml

Resource files created successfully!
4

Generate the Resource

A single command reads your model's columns and generates the complete resource: list and detail Blade components, the YAML configuration for columns and form fields, both routes, and the navigation entry. It asks before it writes to routes/web.php and your navigation — then the screens are ready to use.

Data table example showing customer list
demo-customers-list.yml
title: Demo Customers
actions:
  - label: New Demo Customer
    action: listAction
disableSearch: false
columns:
  - field: company_name
    label: Company
  - field: phone
    label: Phone
  - field: city
    label: City
  - field: revenue
    label: Revenue YTD
    type: number

Powerful Data Tables

Create feature-rich data tables with minimal configuration. Define your columns and let noerd handle the rest.

  • Sortable, searchable columns out of the box
  • Define column widths and types declaratively
  • Built-in pagination and filtering
Customers (24)
Filters
Mid-Market
12/03/2021
Mid-Market
03/09/2022
Mid-Market
04/18/2023
Enterprise
03/12/2021
Enterprise
11/19/2020
SMB
10/05/2023
SMB
01/29/2024
SMB
11/15/2023
SMB
08/07/2023
SMB
03/22/2024
Detail view example showing customer form
demo-customer-detail.yml
title: Demo Customer
description: ''
fields:
  - name: detailData.company_name
    label: Company
    colspan: 6
    required: true
  - name: detailData.phone
    label: Phone
    colspan: 6
  - name: detailData.address
    label: Address
    colspan: 6
  - name: detailData.city
    label: City
    colspan: 6

Rich Detail Views

Build comprehensive detail pages with tabs, related data, and form validation. Everything configured in YAML.

  • Tabbed interfaces with related data
  • Form validation and field types built-in
  • Embed related lists and components
Customer
Customer

Successfully saved

Two Ways to Build with noerd

For smaller applications, you can develop directly within your existing Laravel project structure. For large, complex business applications, we recommend using modules. Both approaches work seamlessly with noerd.

Without Modules

Directly in Your Laravel App

No package setup needed. Your Blade components live in resources, your YAML in app-configs — like the customers example that noerd:install creates for you.

Project
your-laravel-app ~/Sites/your-laravel-app
app
Models
DemoCustomer.php
app-configs
demo
details
demo-customer-detail.yml
lists
demo-customers-list.yml
app-modules
resources
views
components
demo-customer-detail.blade.php
demo-customers-list.blade.php
routes
vendor

Perfect for project-specific apps — start building right after installation.

With Modules

As a Reusable Module

Package an app as its own Composer module with models, routes, views, and configs — like the CMS module in app-modules. Each module keeps its business logic cleanly decoupled from the rest of your application — and can be reused across projects.

Project
your-laravel-app ~/Sites/your-laravel-app
app
app-configs
app-modules
cms noerd/cms
app-configs
database
resources
routes
cms-routes.php
src
Commands
Controllers
Models
Services
composer.json
resources
vendor

Perfect for large business applications — keep your logic cleanly separated and share modules across projects.

Everything You Need

noerd comes packed with features to help you build business applications faster.

Multi-Tenancy

Complete data isolation out of the box. Each tenant has their own data, users, and settings.

YAML Configuration

Declarative lists, views, and forms. Define your UI in simple YAML files instead of writing code.

Livewire 4

Reactive UI without writing JavaScript. Built on Laravel Livewire for a seamless developer experience.

Lists & Detail Views

Complete CRUD functionality in minutes. Define lists and detail views with sorting, filtering, and forms.

Multi-Language

Built-in translation management. Support multiple languages with easy-to-use translation tools.

Modular Apps

Build custom apps as optional modules. Assign them to specific user groups or tenants as needed.

Flexible Navigation

Hierarchical menu system with icons, nested groups, and automatic translation support.

Smart Field Types

Relations, dynamic picklists, and setup collections. Define once in the backend, use everywhere.