MATIH Platform is in active MVP development. Documentation reflects current implementation status.
1. Introduction
Frontend Stack

Frontend Stack

The MATIH Platform frontend consists of eight purpose-built workbench applications, each designed for a specific persona. All workbenches share a common technology stack and component library, ensuring consistency across the platform while allowing each workbench to optimize for its target workflow.


Core Technologies

TechnologyVersionPurpose
React18Component framework
TypeScript5.xType-safe development
Vite5.xBuild tool and dev server
TailwindCSS3.xUtility-first CSS framework
ZustandLatestLightweight state management
React Query (TanStack)LatestServer state management and caching
React Router6.xClient-side routing
Recharts / D3.jsLatestData visualization

Workbench Applications

WorkbenchPortPrimary PersonaKey Features
BI Workbench3000BI DeveloperDashboard builder, chart editor, semantic model viewer
ML Workbench3001ML EngineerExperiment explorer, model registry, notebook interface
Data Workbench3002Data EngineerPipeline editor, data quality dashboard, catalog browser
Agentic Workbench3003Agentic UserConversational AI interface, result explorer
Control Plane UI3004Platform AdminTenant management, user management, configuration
Data Plane UI3005Platform AdminService health, resource monitoring, data plane config
Ops Workbench--OperationsInfrastructure monitoring, alert management
Onboarding UI--New UsersGuided onboarding, setup wizard

Shared Libraries

The commons-typescript library provides shared functionality across all workbenches:

ModulePurpose
API ClientType-safe HTTP client with JWT handling and retry logic
Auth hooksuseAuth, useCurrentUser, useTenant React hooks
WebSocket clientReal-time streaming for AI responses and live updates
Shared componentsCommon UI components (navigation, forms, tables, modals)
Theme providerConsistent theming across all workbenches
Error boundaryGlobal error handling and user-friendly error display

Authentication Flow

All workbenches follow the same authentication pattern:

1. User opens workbench URL
2. App checks for stored JWT in localStorage
3. If no token or token expired:
   Redirect to login page
4. Login page sends POST /api/v1/auth/login
5. Receive accessToken + refreshToken
6. Store tokens, set Authorization header
7. API Client attaches token to every request
8. On 401 response: attempt token refresh
9. On refresh failure: redirect to login

State Management

ConcernTechnologyPattern
Server stateReact QueryCache server responses, automatic refetch
Client stateZustandLightweight stores for UI state
Form stateReact Hook FormPerformant form handling with validation
URL stateReact RouterRoute parameters for shareable URLs

Build and Development

AspectApproach
Dev serverVite dev server with hot module replacement
Build outputStatic assets (HTML, JS, CSS)
DeploymentNginx container serving static files
Environment configRuntime config via window.__RUNTIME_CONFIG__
API proxyVite proxy in dev, NGINX proxy in production

Visualization Libraries

LibraryUsed For
RechartsStandard charts (bar, line, pie, area)
D3.jsCustom visualizations and complex data graphics
React Table (TanStack)Data tables with sorting, filtering, pagination
LeafletGeographic map visualizations

Related Pages