I've been building a small app on the side. It's not for Laravel developers specifically, but if you're curious... it does one thing -...
I've been building a small app on the side. It's not for Laravel developers specifically, but if you're curious... it does one thing - it sends emails on a schedule (eg. "every 6 months, email all company employees to change their passwords"). See more on recurrr.com. Anyway...
I haven't built a SaaS myself, in the past few years. I've coordinated people to do it... sure, but haven't done it with my own 2 hands. Now that I have, I've hit some problems doing it, and I'm wondering if you feel the same. So let's dig in!
First of all, what did I want?
With that in mind... what tools did I need?
Before I got started, I had high expectations. I expected to find a lot of good tools (✅), to have fun building it (✅) and to learn a lot from it (✅). But I also expected to find a tool that considerably reduces the time I spend on scaffolding. And that... ❌... I did not find. Here was my experience. Eager to hear about yours!
I chose PHP, Laravel, Livewire and MySQL. Decided to avoid NPM & JS frameworks like the plague, since those would make the app difficult to maintain long-term.
Using PHP (and PHP alone) has been a pleasure. Even things I dread doing (like writing feature tests) were a pleasure in Livewire! And I absolutely LOVED not having to write much JavaScript. I would 100% use this stack again, and would recommend it to anyone who hasn't tried it.
Conclusion here: Pick Laravel + Livewire for your next project, you won't regret it!
Finding a good UI Kit has been A LOT more time-consuming than I expected. Tailwind has democratised building UI Kits (aka HTML templates), but it has also spun so many options, that it's difficult to decide between them. Each one of them has hidden PROs and CONs, and there's no clear leader. Add another layer of having those designs put into Blade components and... wow. So many options, so few of them are actually great 😔 I've ended up in "analysis paralysis".
After too many hours of research, I've decided none of the "new kids on the block" were using, and it's best to stick to what I know, the "big ones". It was between:
I think TailwindUI is beautiful, and I had already purchased it years ago. But I found it was still missing some components that I think are must-have (eg. datepicker
). Which wasn't the case with Flowbite and Tabler - they have tons of components, and include the needed JS. In the end, I picked Tabler, because I wanted to avoid using NPM. But it was a tough call! I could just as well used Flowbite with static Tailwind. But I'm still a bit uncomfortable with that, it seems a bit like a hack.
Conclusion here: Pick Tabler or Flowbite for your app UI. Ignore the others.
This was a difficult decision as well. 3rd party options all seemed unmaintained or low quality. And yes, Laravel has three options (many!), but: - UI has Bootstrap support, but is legacy software; - Breeze has a decent feature set, but pushes me into using Tailwind; - Jetstream forces Tailwind down your throat too, and has too many features I don't need;
Even though each of them has multiple stack options, none of them were exactly what I needed... a simple, no-JS base to build my app on. So... I've ended up using Laravel Breeze, and customizing the HTML to use Tabler. The problem is... after all that work, I ended up with something that was a better fit for me (yes)... but still somehow incomplete.
Conclusion here: Use Breeze or Jetstream, but expect to budget time to customize ALL of the blade files for your UI kit.
So yeah, that was my experience, the first few days of building a new SaaS on Laravel. Everything after that... went super-smooth, you can read about that in my twitter thread.
In the end... I built my app MVP in 16 days. Which is pretty decent! But looking at my notes, I could have saved up to 7-8 days of development (🤯) if I had a "SaaS Starter Kit" that actually included:
Let me rephrase that... had I had a "Premium SaaS Starter Kit", I would have finished building my app in half the time!. The closest you can get is to use Tailwind and piece together different UIs and packages, but then... you end up with a bloated mess with various degrees of quality and support. Bleah!
So here's my ask: How was your experience building a SaaS in Laravel recently? What other tools have you used to build a SaaS in 2024, that maybe I didn't take into account?
I'm very very tempted to separate the code I've created, polish it, and provide it to you guys as a starter-kit, library or package. So that you don't waste the time that I did. Do you feel the same? Would you also pay for a "Premium SaaS Starter Kit" where we've made all the right choices and heavy lifting, so you don't have to? Just like you can use Backpack/CRUD for your admin panel, something that could do a lot of the same... for your app? 👀
Eager to hear what you think. Cheers!
Subscribe to our "Article Digest". We'll send you a list of the new articles, every week, month or quarter - your choice.
What do you think about this?
Wondering what our community has been up to?