An advanced interactive tour system inspired by Layup Labs for HandIt.ai - A comprehensive onboarding and user guidance platform for AI agent improvement.
This project is a complete implementation of an interactive tour system similar to Layup Labs, specifically designed for HandIt.ai (an automatic AI agent improvement platform). It includes:
- โ Welcome tours with fullscreen modals
- โ Setup wizards with interactive forms
- โ Contextual tooltips for user guidance
- โ Mock components (trace viewers, evaluators, sidebar details)
- โ Fully dynamic JSON configuration
- โ Analytics and event tracking
- โ Responsive design with dark theme
- โ Cursor animations and guided interactions
- โ Persistent sidebar with execution details
- โ 5-step numbered tour flow
Make sure you have installed:
- Node.js (version 16 or higher)
- npm (included with Node.js)
npm installnpm startThe project will automatically open in your browser at: http://localhost:3000
Once the application is running:
- Welcome Tour: Automatically activated when simulating a new user
- Setup Wizard: Available after the walkthrough
- Evaluator Tour: Activated when simulating SDK integration
- Optimizations: Appear when sufficient evaluations exist
The application includes a complete dashboard with buttons to simulate different states:
- ๐ Simulate first login โ Activates welcome tour
- โ๏ธ Simulate integrated SDK โ Activates evaluator wizard
- ๐ Generate evaluation data โ Creates simulated metrics
- ๐ Simulate optimization โ Shows improvement notifications
- ๐ Real-time metrics (simulated)
- ๐ Traces section with mock data
- ๐ง Evaluators panel
- โก Optimizations center
- ๐ Execution details sidebar with expandable sections
quickstart/
โโโ public/
โ โโโ index.html # Main HTML
โ โโโ manifest.json # PWA configuration
โโโ src/
โ โโโ index.js # React entry point
โ โโโ index.css # Global styles
โ โโโ HandItApp.jsx # Main application
โ โโโ HandItApp.css # Dashboard styles
โ โโโ components/
โ โโโ HandItTour/
โ โโโ HandItTourProvider.jsx # Context provider for tours
โ โโโ TourComponents.jsx # Tour UI components
โ โโโ TourComponents.css # Component styles
โ โโโ CursorGuide.jsx # Cursor animation system
โ โโโ CursorGuide.css # Cursor styles
โ โโโ handit-tour-config.json # Complete tour configuration
โโโ package.json # Dependencies and scripts
โโโ README.md # This file
- Step 1: Welcome screen with tour introduction
- Step 2: Tracing exploration with table interaction
- Step 3: Sidebar execution details (System Prompt, User Prompt, Output)
- Step 4: Evaluation Suite navigation
- Step 5: Release Hub exploration
- Agent type selection forms
- SDK integration code with tabs
- Wait states for external events
- Agent type-based recommendations
- Customizable criteria configuration
- Auto-attachment to relevant nodes
- Contextual notifications
- Before/after comparisons
- Improvement metrics
The tour system features sophisticated cursor animations:
- Curved path animations between elements
- Click animations with visual feedback
- Glow highlights on target elements
- Smart positioning of instruction bubbles
- Auto-advance functionality with user interaction
Interactive execution details sidebar featuring:
- Expandable sections for System Prompt, User Prompt, and Output
- JSON syntax highlighting for structured data
- Dark theme styling matching the interface
- Persistent functionality (works outside tour mode)
- Multiple selector strategies for robust element detection
The entire system is controlled from src/components/HandItTour/handit-tour-config.json:
{
"tourConfig": {
"tours": [...], // Tour definitions with step numbers
"triggers": {...}, // Activation conditions
"dynamicContent": {...}, // Personalizable content
"analytics": {...} // Event tracking
}
}- Step numbering (1-5) for easy identification
- Cursor guidance with animation paths and delays
- Instruction positioning relative to targets
- Interactive elements with click/hover actions
- Multi-language support (currently English)
Edit colors in handit-tour-config.json:
"theme": {
"primaryColor": "#6366f1",
"backgroundColor": "rgba(0, 0, 0, 0.7)"
}- Define the tour in
toursarray - Add trigger in
triggers - Create steps with actions and step numbers
- Customize dynamic content
Edit TourComponents.jsx to change:
MockTraceViewer- Trace visualizationMockEvaluationPanel- Evaluation panelsMockSidebar- Execution details sidebar
- โ Desktop - Complete experience
- โ Tablet - Modal adaptations
- โ Mobile - Mobile-optimized tours
The system automatically tracks:
โถ๏ธ Tour starts- โ Step completions
- โญ๏ธ Tours skipped
- ๐ Time spent on each step
- ๐ฑ๏ธ Action clicks
- ๐ User interaction patterns
npm start # Development (port 3000)
npm run build # Production build
npm test # Run tests
npm run eject # Expose configuration (not recommended)- Completely configurable via JSON
- Templating system for dynamic content
- Realistic mock components for demos
- State management with React Context
- Smart triggers based on conditions
- Smooth animations and transitions
- Accessibility (keyboard, screen readers)
- Integrated analytics for optimization
- Cursor guidance system with path animations
- Persistent sidebar with execution details
- Step-by-step numbered flow
npm install && npm startThe tour will automatically begin when you open the application! ๐
- Welcome Screen โ Start tour
- Tracing Section โ Click to explore traces
- Table Interaction โ Click on execution to open sidebar
- Sidebar Exploration โ Expand System/User Prompts and Output
- Evaluation Suite โ Navigate to quality checks
- Release Hub โ Explore AI optimization system
This project is inspired by Layup Labs and specifically designed for the onboarding needs of AI platforms like HandIt.ai.
- Cursor animations use curved paths with configurable durations
- Instruction bubbles position dynamically near target elements
- Event listeners include cleanup to prevent memory leaks
- State management uses functional updates to avoid closure issues
- Debug functions available in browser console (
window.showMockSidebar())
Built with React, Context API, and advanced CSS animations for HandIt.ai