Alpine.js
Lightweight JavaScript for UI interactions — without the overhead.
Alpine.js is a minimal JavaScript framework for adding interactive behavior to web pages. Where Livewire handles server communication and dynamic data, Alpine handles the client-side moments — showing and hiding things, animating transitions, responding to user input immediately.
It works directly inside HTML attributes, so there's no separate JavaScript file to maintain for simple interactions. A dropdown menu, a confirmation dialog, a tab switcher — these are one or two lines of Alpine.
Think of it as jQuery for the modern era, but lighter, more expressive, and designed to work alongside Laravel and Livewire rather than against them.
Toggles, dropdowns, tooltips, and transitions happen in the browser immediately — no round-trip to the server required for purely visual behavior.
Behavior is declared right where you need it, in the markup itself. Readable, maintainable, and easy to reason about.
Alpine can be loaded as a single script tag. No webpack, no bundler, no 500MB of node_modules — just a 15kb file.
Livewire and Alpine are designed to work together. Livewire handles server-side reactivity; Alpine handles client-side polish. Together they cover everything.