Home Projects Portfolio Dashboard Export PDF Log in

Flexibilizando el flujo de onboarding en Brenia

En el proyecto Brenia, hemos implementado cambios significativos en el flujo de onboarding inicial para mejorar la experiencia de usuario y evitar bloqueos innecesarios al acceder a la plataforma.

El desafío: evitar el "muro" de onboarding

Anteriormente, la pantalla de "Construyamos tu marca" actuaba como un requisito estricto, impidiendo el acceso a usuarios que aún no deseaban conectar sus fuentes de datos (Instagram o sitio web). Esto causaba problemas especialmente a usuarios que ya poseían una marca en su tenant o que simplemente querían explorar la herramienta antes de configurarla.

Implementación del patrón Middleware

Para solucionar esto, ajustamos el middleware de autenticación del panel /admin, permitiendo salidas hacia el panel principal sin forzar la creación inmediata de la marca. Utilizamos un nuevo método hasAnyBrand() para verificar el estado del tenant y una columna onboarding_postponed_at para gestionar el estado de los usuarios que deciden configurar su marca más tarde.

namespace App\Http\Middleware;

use Closure;

class EnsureBrandExists
{
    public function handle($request, Closure $next)
    {
        $user = $request->user();
        
        if ($user->hasCompletedOnboarding() || $user->hasPostponedOnboarding()) {
            return $next($request);
        }

        return redirect()->route('brand-onboarding');
    }
}

Resultados y Testing

Con esta mejora, hemos validado mediante PHPUnit que los usuarios nuevos mantienen su flujo guiado, mientras que los equipos existentes o aquellos que desean posponer la configuración pueden acceder directamente a la aplicación. Estos cambios aseguran que la plataforma sea más flexible y menos intrusiva, mejorando la retención desde el primer inicio de sesión.

Flexibilizando el flujo de onboarding en Brenia
Gerardo Ruiz

Gerardo Ruiz

Author

Share: