Stable v1.0.2 · Composer ready

Build expressive interfaces. Keep the web simple.

SERIXA brings a Flutter-inspired widget tree to PHP, then renders clean semantic HTML with an offline theme compiler and a tiny progressive-enhancement runtime.

PHP 8.2+

Modern runtime

Semantic HTML

Accessible output

No hydration

Lean by design

Widget tree

PHP

Document → Layout → Components

Text

Button

Card

Semantic HTML

SSR · 0 hydration

A UI system that still feels like PHP

Compose layouts with familiar server-side code. SERIXA handles rendering, themes and progressive behavior without turning your application into a JavaScript runtime.

01

Compose

Build interfaces from typed widgets, Rows, Columns and reusable components.

02

Compile

Generate theme-aware CSS offline from tokens. No browser compiler and no CDN dependency.

03

Render

Ship semantic server-rendered HTML with accessibility contracts and predictable output.

A complete interface in PHP

SERIXA syntax

The widget tree stays readable, testable and close to the HTML it produces.

use Serixa\Component\{Button, Card, Column, Text};
use Serixa\Document\Document;
use Serixa\Rendering\Renderer;

$profile = Card::make(
    Column::make([
        Text::make('Welcome back')->as('h1')->size('2xl'),
        Text::make('Your workspace is ready.')->tone('muted'),
        Button::make('Open dashboard')->primary(),
    ])->gap(4)
);

echo (new Renderer())->render(
    Document::make()->title('Dashboard')->body($profile)
);

Widget tree

Declarative composition

Theme tokens

Consistent by default

HTML output

Search and screen-reader friendly

A component system you can see working

This page is not a visual mockup. Every surface below is rendered by the same composable SERIXA components you can import into your own PHP application.

Release workspace

Live

A small interface composed from real framework primitives.

Build progress

84%

PHP 8.2SSRSemantic HTML
Copy the pattern

Import only what the interface needs.

Typed APIs keep composition discoverable while the renderer keeps output predictable.

use Serixa\Component\{
    Alert, Badge, Card,
    Chip, Progress, Row, Text
};

$status = Card::make(
    Alert::make()
        ->tone('success')
        ->title('Ready to ship')
        ->body('All checks passed.')
);
SX

Built with SERIXA

The official docs are a production proof of the framework.

Explore every component →

One foundation, an expanding ecosystem

Start with the framework, then add focused packages when the product needs them.

Framework

serixa/framework

SSR widget engine — Document, Renderer, ThemeManager, StyleSheet, client runtime.

Explore package ↗

Forms

serixa/forms

Form builder, binding, and validation helpers for SERIXA UIs.

Explore package ↗
Browse the full package catalog →

Go from idea to a real product

Use a starter as a learning reference or the first commit of your next PHP interface.

Build the interface, not the machinery

Your next PHP UI can be this clear.

Install the stable framework, follow the guided introduction, and render your first widget tree today.