guava/onboarding
Guava Onboarding provides a Laravel-friendly foundation for building user onboarding flows, with structured steps and a simple API to guide new users through setup. Add configurable onboarding journeys to your app without building the plumbing from scratch.
Architecture fit GuavaCZ/onboarding is a Laravel package that layers an onboarding domain (steps, progress/state tracking) onto an application, with first-class Filament integration — evidenced by the 2.2.1 fix targeting "filament v5." It follows the standard Laravel package shape: service provider registration, publishable config and migrations, and Filament panel plugin/resource registration. For teams already running Filament for back-office/admin surfaces, this fits the existing architecture with minimal new surface area. For teams not on Filament, the package is likely a partial fit at best — the core onboarding models may be usable headless, but the value proposition (admin UI for managing onboarding flows) is Filament-bound.
Integration feasibility
High. The conventional composer require → publish config/migrations → register plugin in the panel provider path applies. The release itself is a patch (2.2.1) containing a single bug fix plus a styling commit, indicating a semantic-release / release-please pipeline with conventional commits. Integration effort is dominated by data modeling decisions (how onboarding state maps to your user/tenant model) rather than by the package's wiring.
Technical risk
Key questions
Stack fit Target stack is Laravel (10/11/12 class) + PHP 8.2+ + Filament. The release cadence and commit hygiene suggest a maintained, modern package rather than an abandoned one. Fit is strong where Filament is already the admin layer; weak where the product uses Nova, Livewire-only, Inertia/Vue, or a separate SPA admin.
Migration path 2.2.0 → 2.2.1 is a drop-in patch. Two cases:
Compatibility
Build an explicit support matrix before adoption: package version × Laravel × PHP × Filament major. Treat Filament as the binding constraint. Pin the package to a minor (^2.2) and let patch releases flow, but gate minor bumps behind a staging run.
Sequencing
Maintenance Low ongoing effort in steady state; the cost is concentrated in Filament upgrade windows. Automated changelog/release tooling is a positive maturity signal. Budget a recurring task each time Filament ships a major: verify the package, upgrade in lockstep, or pin and defer. Because the package is small, expect to read its source when behavior is ambiguous — documentation depth is unverified.
Support GitHub-issues-based support with no commercial SLA implied. Acceptable for internal admin tooling; a concern if onboarding is a customer-facing, revenue-adjacent flow. Establish an internal fork-or-patch fallback plan in case Filament breakage goes unaddressed.
Scaling Onboarding progress is per-entity state — row volume scales with user count, not traffic. Watch for per-step queries or N+1 patterns when rendering progress across lists; index the foreign key on the progress table. If progress is read on every page load to gate features, cache it and invalidate on transition. Migration size matters more than query volume: onboarding tables grow monotonically with users.
Failure modes
composer update.Ramp-up A Laravel developer is productive in under a day on the domain model; the real ramp is Filament conventions (panel providers, resources, actions) — budget a few days for developers new to Filament. TPM-level cost is a half-day dependency and support-matrix review. Recommended posture: adopt for internal/admin onboarding flows with a pinned minor and a tested upgrade cadence; hold for customer-facing critical paths until the Filament-support matrix and the maintainer's responsiveness across one full upgrade cycle are confirmed.
How can I help you explore Laravel packages today?