I'm opening up the template behind my web apps
I've been working on this template for years. I built it when I rebuilt Invelo to version 2, a full rebuild of the entire CRM platform that took about four months. Since then I've made iterations upon iterations to it, and today it powers about 40 web apps (at least the ones I manage and control).
It was closed source for a long time. I put a lot of manual time into it over the years. But now that AI can spit things up this fast, I figure there's really no benefit in keeping it closed. So I'm opening template-laravel-app to anyone who wants to use it.
The goal was always simple: give all my projects the same base. They all required the same things, and honestly, most web apps are the same. They just need a few tweaks and their own unique customizations. The template sets the groundwork to build any backend platform that needs a UI, an admin, or users, so those basic points are already there when I start.
It has years of experience in it. Edge cases, processes, all the systems I had to put together by hand: Sentry logging, Horizon queues, SEO titles and meta, SSR, and the most important one, the start of both backend and frontend testing. It also handles full SEO and social sharing, and the treatment around quality that goes with them. There's so much more in the repo than that. Some of it might not be relevant to you, and some of it might not even be needed anymore.
The real reason it exists is long-term maintenance. I've built a lot of platforms over the years, and the challenge I kept hitting was the same: you build something, and in two years it's outdated. I hated that. UI component libraries like Vuetify, and then PrimeVue, all went out of date, and the old platforms built on them became tedious. I hated working on them. This template standardized all of it across my platforms. It gave me a standard to build with, especially when I go in and out of projects. And now with AI, I use it to keep all those platforms up to date, which makes it even easier.
Yes, in some areas it's opinionated. It uses shadcn by default, but all of it is customizable. And with AI, it can really be whatever you want: SQLite, Postgres, MySQL.
These days, with AI, a template like this is less important. I built it before AI, when there was a lot of manual work and effort, and the template was my cheat sheet for getting the job done. I'm sharing it because maybe it helps you create better web apps, or maybe it speeds up your process.
If you use it, I'd like to hear about it on GitHub or Bluesky.
I write about building and maintaining web apps.
