Wave is an open-source SaaS framework built with Laravel that provides all the essential features found in popular SaaS platforms. It allows you to quickly transform your idea into a profitable SaaS product without breaking a sweat.
Wave includes authentication, user management, billing, subscriptions, marketing pages, blog functionality, admin panel, themes, and more out of the box.
Tech Stack
Built with Laravel - powerful features and elegant syntax
Styled with Tailwind CSS - utility-first design and flexibility
Interactive with Alpine.js - simple dynamic interactivity
Enhanced with Livewire - seamless front-end and back-end communication
Key Features
Authentication - user registration and login
User Dashboard - customizable landing area for customers
Marketing Pages - beautifully designed pages for home, pricing, blog
Admin Panel - powered by Filament with table and form builders
Blog - full-featured for SEO traffic
User Profiles - customizable user data
User Roles - permission-based access control
Billing - easy setup for recurring payments
Changelog - keep users informed about updates
Themes - install, activate, and switch between themes
A collection of prebuilt Next.js Full-Stack Web Development features and components
JavaScript
TypeScript
shadcn/ui
Tailwind CSS
CockroachDB
MongoDB
MySQL
PostgreSQL
SQLite
Stripe
Next.js
React
Features:
Access Control
Admin
Announcements
Auth
Billing
Changelog
Emails
+7 more
Frequently Asked Questions
PHP
What makes PHP ideal for SaaS development?
PHP excels in SaaS development due to its robust ecosystem, strong typing capabilities, and excellent library support. PHP boilerplates leverage language-specific features to provide type-safe database queries, efficient API routing, and optimized runtime performance. The language's maturity means you get battle-tested packages for authentication, payment processing, and background jobs that integrate seamlessly.
FilamentPHP
What FilamentPHP-specific architecture patterns are implemented?
FilamentPHP boilerplates leverage the framework's native architecture patterns including its routing system, middleware pipeline, and controller/handler structure. They implement FilamentPHP's conventions for separating concerns, dependency injection, and service layer patterns. The codebase follows FilamentPHP's best practices for organizing models, views/components, and business logic to ensure maintainability as your application grows.
Laravel
What Laravel-specific architecture patterns are implemented?
Laravel boilerplates leverage the framework's native architecture patterns including its routing system, middleware pipeline, and controller/handler structure. They implement Laravel's conventions for separating concerns, dependency injection, and service layer patterns. The codebase follows Laravel's best practices for organizing models, views/components, and business logic to ensure maintainability as your application grows.
Alpine.js
What Alpine.js-specific component architecture is used?
Alpine.js boilerplates follow the framework's component composition patterns with reusable, atomic design components. They implement Alpine.js's best practices for component structure, props handling, event management, and lifecycle methods. The component library includes authentication flows, dashboards, data tables, forms with validation, and navigation—all built with Alpine.js's native features like hooks (React), composition API (Vue), or directives (Angular).
Livewire
What Livewire-specific component architecture is used?
Livewire boilerplates follow the framework's component composition patterns with reusable, atomic design components. They implement Livewire's best practices for component structure, props handling, event management, and lifecycle methods. The component library includes authentication flows, dashboards, data tables, forms with validation, and navigation—all built with Livewire's native features like hooks (React), composition API (Vue), or directives (Angular).
Tailwind CSS
What Tailwind CSS-specific component architecture is used?
Tailwind CSS boilerplates follow the framework's component composition patterns with reusable, atomic design components. They implement Tailwind CSS's best practices for component structure, props handling, event management, and lifecycle methods. The component library includes authentication flows, dashboards, data tables, forms with validation, and navigation—all built with Tailwind CSS's native features like hooks (React), composition API (Vue), or directives (Angular).
MySQL
What MySQL-specific features are leveraged in these boilerplates?
MySQL boilerplates utilize the database's native capabilities including its transaction model (ACID for SQL, eventual consistency for NoSQL), indexing strategies (B-tree, GiST, full-text search), and advanced features like JSON columns, array types, window functions, or document queries. The schema design takes advantage of MySQL's strengths—whether that's PostgreSQL's JSONB, MySQL's full-text search, MongoDB's aggregation pipeline, or Redis's data structures.
PostgreSQL
What PostgreSQL-specific features are leveraged in these boilerplates?
PostgreSQL boilerplates utilize the database's native capabilities including its transaction model (ACID for SQL, eventual consistency for NoSQL), indexing strategies (B-tree, GiST, full-text search), and advanced features like JSON columns, array types, window functions, or document queries. The schema design takes advantage of PostgreSQL's strengths—whether that's PostgreSQL's JSONB, MySQL's full-text search, MongoDB's aggregation pipeline, or Redis's data structures.
SQLite
What SQLite-specific features are leveraged in these boilerplates?
SQLite boilerplates utilize the database's native capabilities including its transaction model (ACID for SQL, eventual consistency for NoSQL), indexing strategies (B-tree, GiST, full-text search), and advanced features like JSON columns, array types, window functions, or document queries. The schema design takes advantage of SQLite's strengths—whether that's PostgreSQL's JSONB, MySQL's full-text search, MongoDB's aggregation pipeline, or Redis's data structures.
Stripe
What Stripe API features are implemented?
Stripe boilerplates implement the provider's complete API suite including checkout sessions, subscription lifecycle management, customer portal, webhook event handling, and invoice generation. They use Stripe's latest API version with proper error handling, idempotency keys, and retry logic. The integration includes Stripe-specific features like payment intents, setup intents, subscription schedules, and tax calculation APIs.
PHP
What PHP-specific tools and libraries are included?
PHP boilerplates include the language's most popular and production-proven tools. This typically includes testing frameworks, linters, formatters, build tools, and package managers specific to PHP. You'll get pre-configured toolchains that enforce best practices, automated testing pipelines, and development environments optimized for PHP development workflows.
FilamentPHP
How does FilamentPHP's ORM/database layer work in these boilerplates?
FilamentPHP boilerplates use the framework's native ORM or query builder (Prisma, Eloquent, Active Record, SQLAlchemy, etc.) with pre-configured models for users, subscriptions, teams, and common SaaS entities. They include optimized queries, relationships, migrations, seeders, and database connection pooling. The implementation leverages FilamentPHP's specific features like eager loading, query scopes, and transaction handling for performance.
Laravel
How does Laravel's ORM/database layer work in these boilerplates?
Laravel boilerplates use the framework's native ORM or query builder (Prisma, Eloquent, Active Record, SQLAlchemy, etc.) with pre-configured models for users, subscriptions, teams, and common SaaS entities. They include optimized queries, relationships, migrations, seeders, and database connection pooling. The implementation leverages Laravel's specific features like eager loading, query scopes, and transaction handling for performance.
Alpine.js
How is state management handled in Alpine.js boilerplates?
Alpine.js boilerplates use the framework's recommended state management approach—whether that's React Context + hooks, Redux Toolkit, Zustand, Pinia (Vue), NgRx (Angular), or Svelte stores. They include pre-configured state slices for authentication, user data, subscriptions, and UI state with proper TypeScript typing. The implementation follows Alpine.js's patterns for global state, local component state, and server state synchronization.
Livewire
How is state management handled in Livewire boilerplates?
Livewire boilerplates use the framework's recommended state management approach—whether that's React Context + hooks, Redux Toolkit, Zustand, Pinia (Vue), NgRx (Angular), or Svelte stores. They include pre-configured state slices for authentication, user data, subscriptions, and UI state with proper TypeScript typing. The implementation follows Livewire's patterns for global state, local component state, and server state synchronization.