Run

Push it out, and let people find it.

Broadcasting and search both start from a model you already defined. An event becomes a channel message, and a searchable trait becomes an index, without a second definition of what the record is.

What you get.

All of it in the same install, with nothing to wire together first.

Channels

Public, private, and presence channels with authorization that reuses the app gates rather than its own rules.

Broadcasts

An event dispatched server-side arrives on the channel, so the same event can queue a job and update a screen.

WebSocket drivers

A first-party driver for development and pluggable transports for production.

Search engines

The useSearch trait indexes into Meilisearch, Algolia, or Typesense, with searchable and filterable declared on the model.

Index sync

Model writes update the index through observers, so a record and its index entry do not disagree after an edit.

Client composables

STX composables subscribe in a script client block, leaving the server render untouched.

From the command line.

Buddy scaffolds, runs, and ships this the same way it does the rest of the app.

buddy make:job ReindexArticles buddy dev api

These share the same models, config, and types, so using them together costs nothing extra.