MATIH Platform is in active MVP development. Documentation reflects current implementation status.
15. Workbench Architecture
Onboarding UI
Overview

Onboarding UI Overview

The Onboarding UI guides new users through the initial setup experience when they first access the MATIH platform. It presents a multi-step wizard that collects user persona preferences, configures data source connections, and walks users through their first conversational analytics query to demonstrate platform capabilities.


Application Structure

The Onboarding UI is located at frontend/onboarding-ui/ and shares the MATIH frontend technology stack:

DirectoryPurpose
src/pages/Wizard step page components
src/components/Reusable onboarding UI components
src/hooks/Custom hooks for wizard state and navigation

Wizard Steps

StepComponentRouteDescription
WelcomeWelcomePage/onboarding/welcomePlatform introduction and value proposition
PersonaPersonaSelectionPage/onboarding/personaSelect role and customize experience
ConnectionConnectionSetupPage/onboarding/connectionConfigure data source connection
First QueryFirstQueryPage/onboarding/first-queryInteractive demo of conversational analytics
CompletionCompletionPage/onboarding/completeSummary and next steps

Onboarding Flow

Welcome --> Persona Selection --> Connection Setup --> First Query --> Completion
    |                                                                     |
    +-- Skip (experienced users) ----------------------------------------+

Personalization Impact

The persona selected during onboarding configures the user experience across the platform:

PersonaDefault WorkbenchResponse StyleSuggested Queries
Data AnalystBI WorkbenchVisual, chart-focusedRevenue trends, KPI dashboards
Data EngineerData WorkbenchTechnical, SQL-focusedPipeline status, data quality
ML EngineerML WorkbenchModel-focusedTraining jobs, model performance
ExecutiveBI WorkbenchSummary, insight-focusedHigh-level KPIs, comparisons
DeveloperAgentic WorkbenchAPI-focusedIntegration examples, agent tools

State Management

Onboarding state is persisted so users can resume if they leave and return:

interface OnboardingState {
  current_step: number;
  completed_steps: number[];
  persona: string | null;
  connection_configured: boolean;
  first_query_completed: boolean;
  skipped: boolean;
}

Skip and Resume

  • Experienced users can skip the onboarding wizard at any step
  • Skipped onboarding can be restarted from the user settings
  • The onboarding state is stored server-side and linked to the user profile

Development

cd frontend/onboarding-ui
npm install
npm run dev  # Starts on a development port

Detailed Sections

SectionContent
Welcome PagePlatform introduction, feature highlights
Persona SelectionRole selection, experience customization
Connection SetupData source configuration
First QueryInteractive conversational analytics demo