ProofLab is evolving from a pure benchmarking platform to a comprehensive ecosystem for ZK development. This specification outlines the key components and user experience flow for the redesigned frontend.
- Logo + Platform Name
- Main Navigation:
- Programs
- ZK Spaces
- Learn
- Authentication Controls (right-aligned)
- Headline: Clear value proposition focusing on ZK program development and deployment
- Sub-headline: Emphasize the platform's role in helping developers choose and optimize ZK solutions
- Call-to-action: "Explore Programs" or "Start Building"
- Top Programs (Most used/viewed ZK programs)
- Featured Spaces (Highlighted implementations)
- Getting Started Guide (Quick links to documentation)
- Enhanced version of current benchmarking table
- Filtering System:
- Use Case Categories (e.g., "Computation", "Privacy", "Verification")
- Performance Requirements
- Language Support
- Resource Constraints
- Side-by-side detailed comparison
- Performance visualization with interactive graphs
- Resource usage breakdowns
- Real-world benchmarks and example implementations
- Comprehensive performance metrics
- Integration guides
- Example implementations
- Related Spaces using this program
- Cards displaying interactive ZK applications
- Filter by:
- Use case
- Underlying ZK program
- Integration type
- Resource requirements
- Live demo interface
- Implementation details
- Integration documentation
- Performance characteristics
- Deployment requirements
- Interactive tutorials
- Best practices guide
- Common patterns and anti-patterns
- Technical documentation
- API references
- Integration guides
- Performance optimization guides
- Load time < 2s for main pages
- Real-time filtering and sorting
- Responsive design for all screen sizes
- Persistent comparison selections
- User preferences storage
- Filter state maintenance
- Interactive performance graphs
- Resource usage charts
- Comparison visualizations
- Full-text search across programs and spaces
- Smart filtering system
- Related content suggestions
- Guided tour of key features
- Context-sensitive help
- Clear pathways to getting started
- Keyboard shortcuts
- Bulk comparison tools
- Custom benchmark configurations
- Basic metrics visible by default
- Detailed technical information available on demand
- Advanced features accessible but not overwhelming
- Enhanced Programs/Benchmarking interface
- Basic ZK Spaces showcase
- Fundamental documentation structure
- Interactive demonstrations
- Advanced comparison tools
- Community features
- Custom benchmarking tools
- Advanced integration guides
- Performance optimization tools
- Clear distinction between sections
- Consistent use of space and typography
- Visual cues for important actions
- Primary: Current brand colors
- Secondary: Performance indicator palette
- Accent: Action and highlight colors
- Clear hierarchy for technical information
- Readable code displays
- Consistent sizing system
- Breadcrumb navigation for deep pages
- Persistent comparison toolbar
- Quick access to documentation
- Real-time updates
- Save filter combinations
- Share filtered views
- Side-by-side views
- Highlight differences
- Export comparison data
- WCAG 2.1 AA compliance
- Keyboard navigation support
- Screen reader optimization
- High contrast mode support
- Program popularity
- Common comparison patterns
- Feature usage patterns
- User journey flows
- Filter usage patterns
- Common comparison scenarios
- Documentation access patterns
- Plugin system for new metrics
- Custom visualization support
- API access for external tools
- User contributions
- Discussion forums
- Custom benchmark sharing
Brand:
- Primary: #6366F1 (Indigo)
- Secondary: #3B82F6 (Blue)
Performance Indicators:
- High: #22C55E (Green)
- Medium: #FBBF24 (Yellow)
- Low: #DC2626 (Red)
Background:
- Page: #F9FAFB
- Card: #FFFFFF
- Hover: #F3F4F6
Text:
- Primary: #111827
- Secondary: #4B5563
- Muted: #9CA3AF
Font Stack:
- Interface: Inter
- Monospace: JetBrains Mono
- Fallbacks: system-ui
Scale:
- Display: 36/44px
- H1: 30/36px
- H2: 24/32px
- H3: 20/28px
- Body: 16/24px
- Small: 14/20px
- Mono: 14/20px
┌─────────────────────────────────────────────────┐
│ Logo Programs Spaces Learn Auth Theme │
└─────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────┐
│ Filters & Search │
├─────────┬───────────────────────────────────────┤
│ │ ┌─────────────────────────────────┐ │
│ Filters │ │ Program Card │ │
│ │ └─────────────────────────────────┘ │
│ │ ┌─────────────────────────────────┐ │
│ │ │ Program Card │ │
│ │ └─────────────────────────────────┘ │
└─────────┴───────────────────────────────────────┘
┌─────────────────────────────────────────────────┐
│ Program Header & Navigation │
├─────────────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────┐ │
│ │ TVS │ │ Daily │ │ 30D │ │ Score │ │
│ │ Stats │ │ Stats │ │ Stats │ │ Card │ │
│ └─────────┘ └─────────┘ └─────────┘ └────────┘ │
├─────────────────────────────────────────────────┤
│ Performance Graphs │
├─────────────────────────────────────────────────┤
│ Technical Details │
└─────────────────────────────────────────────────┘
┌──────────────────────────────────────┐
│ Logo Name Score Wheel │
│ │
│ Key Metrics │
│ ├─ Proving Time │
│ ├─ Memory Usage │
│ └─ Throughput │
│ │
│ Technical Badges │
└──────────────────────────────────────┘
Component: RadialScore
- 5 segments for different metrics
- Color coded segments (red → yellow → green)
- Interactive tooltips on hover
- Animated transitions
- Central area for overall score
┌──────────────────────┐
│ Metric Name Value │
│ └─ Trend ↑↓ % │
│ │
│ History Graph │
│ └─ 7D/30D/90D │
└──────────────────────┘
┌────────────┬────────────┬────────────┐
│ Program A │ Program B │ Program C │
├────────────┼────────────┼────────────┤
│ Metrics │ Metrics │ Metrics │
├────────────┼────────────┼────────────┤
│ Score │ Score │ Score │
│ Wheel │ Wheel │ Wheel │
└────────────┴────────────┴────────────┘
┌─────────────────────┐
│ Metric Name │
│ Score: 4.5/5 │
│ │
│ Details: │
│ • Current value │
│ • Scoring criteria │
│ • Recent changes │
└─────────────────────┘
Categories:
- Programming Language
- Performance Range
- Memory Usage
- Feature Support
- Development Status
Display:
- Chips for active filters
- Dropdown menus
- Range sliders
- Search input
Features:
- Sortable columns
- Frozen first column
- Sticky header
- Pagination
- Row selection
- Expandable rows
- Single column layout
- Collapsible filters
- Simplified metrics
- Stacked comparisons
- Touch-optimized controls
- Two column layout
- Side panel filters
- Compact metrics
- 2-up comparisons
- Multi-column layout
- Persistent filters
- Full metrics display
- 3-up comparisons
Persisted State:
- Selected filters
- Sort order
- Comparison selections
- Time range
- View mode
Cached Data:
- Recent searches
- Preferred units
- Theme selection
- Hidden columns
Strategy:
- Progressive loading
- Cached responses
- Debounced searches
- Optimistic updates
Techniques:
- Virtualized lists
- Deferred loading
- Lazy components
- Skeleton screens
Shortcuts:
- J/K: Navigate items
- Enter: Open detail
- Esc: Close modal
- /: Focus search
Features:
- ARIA labels
- Focus management
- State announcements
- Skip links
Duration:
- Fast: 150ms (hover)
- Medium: 250ms (expand)
- Slow: 350ms (page)
Timing:
- ease-out for enter
- ease-in for exit
- ease-in-out for movement
Components:
- Skeleton screens
- Progress bars
- Fade transitions
- Shimmer effects