Skip to content

Overworldai/owl-eval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

160 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ¦‰ OWL Evaluation Framework

A comprehensive platform for evaluating and comparing world models through human evaluation studies

MIT License TypeScript Next.js

Features β€’ Quick Start β€’ Documentation β€’ Contributing


🎯 Overview

OWL (Wayfarer Labs) Evaluation Framework is a modern, production-ready platform designed for researchers and organizations conducting human evaluation studies of generative world models. Built with TypeScript and Next.js, it provides a complete solution for comparing video outputs through structured A/B testing and multi-dimensional analysis.

Why OWL?

  • πŸ”¬ Research-Grade Evaluations: Structured evaluation across multiple dimensions (quality, controllability, visual fidelity, temporal consistency)
  • 🌐 Scalable Human Studies: Seamless integration with Prolific for large-scale crowd-sourced evaluations
  • 🏒 Enterprise Ready: Multi-tenant architecture with organization management and role-based access control
  • ⚑ Developer Friendly: Unified TypeScript CLI and comprehensive API for automation
  • πŸ“Š Real-time Analytics: Built-in dashboard with progress tracking and performance visualization

✨ Features

Core Capabilities

  • 🎬 Video Comparison Workflows - Side-by-side video playback with synchronized controls
  • πŸ“Š Multi-dimensional Evaluation - Structured rating across research-validated dimensions
  • πŸ‘₯ Human Study Management - Complete participant workflow with screening and quality control
  • πŸ—οΈ Multi-tenant Architecture - Organization-based isolation with RBAC
  • ⚑ Real-time Analytics - Live progress tracking and performance dashboards

Platform Integrations

  • πŸ”— Prolific Integration - Automated participant recruitment and payment processing
  • ☁️ Cloud Storage - AWS S3 and Tigris integration for video asset management
  • πŸ” Authentication - Stack Auth integration with social login support
  • πŸ“‘ REST API - Complete API for programmatic access and automation

Developer Experience

  • πŸ› οΈ Unified CLI - evalctl command-line tool for experiment management
  • πŸ”„ Docker Support - Containerized deployment with docker-compose
  • πŸ§ͺ Testing Suite - Comprehensive test coverage with Jest
  • πŸ“š Type Safety - Full TypeScript coverage across frontend and backend

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • (Optional) AWS S3 or Tigris for video storage

Installation

  1. Clone and install dependencies:

    git clone https://github.com/Wayfarer-Labs/owl-eval.git
    cd owl-eval/eval/frontend
    npm install
  2. Set up your environment:

    cp .env.example .env.local
    # Edit .env.local with your database and storage configuration
  3. Initialize the database:

    npm run db:migrate
  4. Start the development server:

    npm run dev
  5. Use the CLI for experiment management:

    cd ../
    ./evalctl --help

Docker Deployment

For production deployment:

docker-compose up -d

Visit http://localhost:3000 to access the web interface.

πŸ—οΈ Architecture

Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
  • Backend: Next.js API routes, Prisma ORM
  • Database: PostgreSQL
  • Authentication: Stack Auth
  • Storage: AWS S3 / Tigris
  • CLI: TypeScript with Commander.js

Project Structure

eval/
β”œβ”€β”€ frontend/           # Next.js web application
β”‚   β”œβ”€β”€ src/app/       # Pages and API routes  
β”‚   β”œβ”€β”€ src/components/ # Reusable UI components
β”‚   └── src/lib/       # Core business logic
β”œβ”€β”€ scripts/           # TypeScript CLI tools
β”œβ”€β”€ evalctl           # Main CLI executable
└── docker-compose.yml # Development environment

docs/                  # Comprehensive documentation
β”œβ”€β”€ concepts.md        # Core concepts and methodology
β”œβ”€β”€ evaluation-system.md # System architecture
β”œβ”€β”€ prolific-integration.md # Platform integrations
└── contributing.md    # Development guidelines

πŸ“š Documentation

Getting Started

Development

Integrations

🀝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes and add tests
  4. Commit your changes (git commit -m 'Add amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

See our Contributing Guide for detailed development setup and guidelines.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™‹β€β™€οΈ Support

  • πŸ“– Documentation: Check the docs/ directory for comprehensive guides
  • πŸ› Issues: Report bugs and request features via GitHub Issues
  • πŸ’¬ Discussions: Join community discussions in GitHub Discussions

Built with ❀️ by Wayfarer Labs

About

Evaluation harness for diffusion world models

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages