Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

iamkhan's avatar

Laravel JetStream or Breeze with Filament

Hello @everyone,

I has been so long since I used Laravel as working on other tech's, Starting on my own project and wanted to know what to use?

I went through JetStream and Breeze but got little confused which to use, My simple requirement is, I want to use Filament for admin dashboard with JetStream/Breeze with role based Login,

if role is admin, then he can login on frontend as well as admin dashboard and other than admin they should be restrict to access all dashboard routes.

Regarding for front side, which should I have to use? JetStream or Breeze, I future I might need mobile app as well. Can I acheieve all of my requirement. I am writing below my requirements

-- Admin Dashboard (Filament) -- Fron side login/ general user login (JetStream/Breeze) -- JWT token based login for mobile app -- Next JS (in feature if required)

Please advice and share your experiance and if any good tutorials.

Thanks, KK

0 likes
2 replies
myregistration's avatar

I wondered the same thing. I like that Jetstream has a few more features and since you aren't supposed to install it in an existing project I figured I should start with it jic I need to use those features. My whole app uses Filament so I'll probably have to integrate those features into myself. I would have preferred to use Breeze to keep it simple. I wish they would make feeatures like two-factor authentication, teams, and API packages you could install into Breeze at any point. What did you end up using?

Merklin's avatar

I am currently working on something and I chose Filament + Jetstream mainly because of the rebuild features like email verification, 2FA etc. Why invent the wheel?

As for the Roles, if only 1-2-3 are present, make your own model. If not, use Spatie's Laravel permission package.

For the panel access, Filament has a handy method that can be used in the users model:

public function canAccessPanel(Panel $panel): bool
    {
        if ($panel->getId() === 'admin') {
            return $this->hasRole(['Administrator', 'Moderator']);
        }

        return true;
    }

This code will allow only users with the role Administrator or Moderator to login into the Admin panel, while any user can log in to any other panel if there are any, and you can modify it as you like.

1 like

Please or to participate in this conversation.