mvanduijker/laravel-mercure-broadcaster
A Laravel broadcaster that sends your app's events to a Mercure hub for real-time updates over Server-Sent Events. Skip Pusher and websockets: publish model changes and notifications to browsers with a simple, lightweight setup that plugs into Laravel's existing broadcasting system.
broadcast(new OrderShipped($order))) while delegating fan-out, connection management, and horizontal scaling to a standalone Mercure hub — a defensible middle path between polling (cheap, poor UX) and a fully managed service (fast, recurring cost and vendor lock-in).Adopt when:
Look elsewhere when:
To executives: This is a small, low-risk dependency that gives us live-updating UI without building or staffing realtime infrastructure. It leans on an open standard (Server-Sent Events) and a self-hostable hub, so we avoid per-message SaaS pricing and the lock-in that comes with a proprietary push vendor. The 3.9.0 release adds Laravel 13.x support, which means the package is being maintained in step with our framework upgrade path — a signal that adopting it now won't strand us at the next Laravel major.
To engineering: Thin adapter between Laravel's broadcasting driver contract and a Mercure hub; you keep using events, channels, and ShouldBroadcast. No new mental model, no custom socket server to operate. Trade-off to accept consciously: SSE is unidirectional, so plan client→server interactions over normal HTTP. The hub is stateful infrastructure — budget for its deployment, TLS, JWT signing keys, and health checks in the same way you would for Redis. Confirm the private-channel auth flow and JWT cookie/CORS configuration against our domain and tenancy model before we commit, and pin the version so an upstream Laravel major bump is a deliberate upgrade rather than a surprise.
How can I help you explore Laravel packages today?