Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Onboard Laravel Package

spatie/laravel-onboard

Define and track user onboarding steps in Laravel. Register steps with titles, links, CTAs, and completion rules, then query a user’s onboarding progress (in progress/completed) and render a customizable checklist in your views.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature Development: Accelerates implementation of structured onboarding flows for user activation, reducing time-to-market for new features requiring guided user journeys (e.g., SaaS onboarding, e-commerce account setup, or educational platforms).
  • Roadmap Prioritization: Enables data-driven onboarding optimization by tracking step completion rates, drop-off points, and time-to-completion—critical for A/B testing and feature prioritization.
  • Build vs. Buy: Eliminates custom development effort for core onboarding logic, allowing teams to focus on UI/UX customization and business-specific workflows (e.g., conditional steps, dynamic CTAs).
  • Use Cases:
    • SaaS Platforms: Mandatory onboarding (e.g., "Connect your API key" → "Invite team members").
    • Marketplaces: Seller verification flows (e.g., "Upload logo" → "Set pricing").
    • Gamified Apps: Progressive achievement tracking (e.g., "Complete 3 tutorials" → "Unlock premium features").
    • Regulatory Compliance: Step-by-step data collection (e.g., KYC, privacy policy acknowledgment).

When to Consider This Package

  • Adopt When:

    • Your Laravel app requires multi-step onboarding with clear progression tracking.
    • You need scalable, maintainable onboarding logic without reinventing the wheel.
    • Your team lacks bandwidth to build custom step-tracking from scratch.
    • You want to leverage analytics (e.g., drop-off rates) to improve conversion.
    • Your onboarding steps are user-model-dependent (e.g., "Profile complete" = User::profile->isComplete()).
  • Look Elsewhere If:

    • Your onboarding is highly visual (e.g., complex animations, non-linear paths) → Consider a no-code tool like Userpilot or Appcues.
    • You need real-time collaboration (e.g., team onboarding) → Evaluate intercom-onboarding or custodian.
    • Your stack is non-Laravel → Use a frontend-first solution (e.g., React Hook Form + custom state).
    • You require advanced personalization (e.g., AI-driven step recommendations) → Explore custom ML models or segment-based triggers.
    • Your onboarding is one-off (e.g., a single form) → Use Laravel’s built-in session/validation.

How to Pitch It (Stakeholders)

For Executives: "This package lets us ship structured onboarding flows in days, not weeks, while giving us real-time data to optimize user activation. For example, if we’re launching a new SaaS feature requiring 5 setup steps, we can track completion rates per step and reduce drop-offs by 30%+—without hiring additional dev resources. It’s a low-risk, high-impact way to improve conversion and retention, with minimal ongoing maintenance."

For Engineering: *"Spatie’s laravel-onboard gives us a batteries-included solution for tracking user onboarding progress with minimal boilerplate. Key benefits:

  • Decoupled steps: Define workflows in PHP (e.g., Onboard::addStep()) and render them anywhere in Blade.
  • Flexible completion logic: Use closures to check model state (e.g., ->completeIf(fn(User $u) => $u->posts->count() > 0)).
  • Analytics-ready: Built-in methods like inProgress(), steps(), and complete() integrate seamlessly with Laravel’s query builder.
  • Zero dependencies: Lightweight (~500 LOC) and MIT-licensed—no vendor lock-in. Tradeoff: We’ll need to style the UI ourselves, but the core logic is production-tested by 800+ stars. Ideal for projects where onboarding is a critical path but not a differentiator."*

For Design/UX: *"This package handles the backend logic so we can focus on designing intuitive flows. We’ll own the visual hierarchy (e.g., progress bars, micro-interactions), but the package ensures we can:

  • Dynamically update steps based on user actions (e.g., ‘Profile complete’ → hide step).
  • A/B test step order without backend changes.
  • Reuse the same flow across multiple user types (e.g., free vs. paid tiers). Example: For our marketplace onboarding, we’d style the steps as cards with checkmarks, but the package guarantees the ‘Create Listing’ step only appears if user->listings->count() === 0."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport