DEV Community

Cover image for I Built an Open Source Multi-Step Form Wizard for Livewire 3 — Here's Why (and How You Can Use It)
Codegenie
Codegenie

Posted on

I Built an Open Source Multi-Step Form Wizard for Livewire 3 — Here's Why (and How You Can Use It)

⏳ Stop wasting time rebuilding the same multi-step logic in every project.

This Livewire 3 wizard does the job — fast, clean, and fully themeable.

A Clean, Customizable Livewire Multi-Step Wizard — Open Source & Ready to Use 🧞

As a Laravel developer, I often find myself building onboarding flows, registration forms, or multi-step wizards. With Livewire 3, the reactive experience is awesome — but structuring multi-step logic properly still takes some time.

That’s why I decided to open-source my own Livewire 3.x Multi-Step Form Wizard, designed to be:

✅ Lightweight

✅ Real-time validated

✅ Pest-tested

✅ Easy to theme via Tailwind CSS


🔗 Try it yourself

🌐 Live Demo:

https://laravel-livewire.codegenie.be

⭐ GitHub Repo:

https://github.com/Codegenie-BE/laravel-livewire-multistep-form


🧱 Features

  • Built with Laravel 12, Livewire 3.6, and TailwindCSS
  • Supports multi-step navigation with progress indicators
  • Validation per step ($rules & Livewire lifecycle)
  • Clean layout with app.blade.php & thankyou.blade.php
  • Configurable color via config/ui.php
  • Feature test included using Pest!

💡 Why I built it

Every time I had to make a multi-step form, I rewrote the same logic. Most packages were either outdated, too bloated, or not Livewire 3-ready.

So I made one that just works — and feels native to Laravel.

My goal?

To save other developers hours on form flow logic and keep their codebase clean.


🛠 How to use it

Clone the repo, install dependencies, migrate the DB and run the local server:


bash
git clone https://github.com/Codegenie-BE/laravel-livewire-multistep-form.git
composer install
npm install && npm run build
php artisan migrate
php artisan serve

---

💬 Do you use multi-step forms in your projects?  
Have feedback or ideas to improve this component?

Let me know in the comments — I'd love to hear how *you* would extend it.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)