The Iris architecture is an elegant and intelligent system designed for autonomous web testing.

The code is available at github.com/tryiris/iris.

Architecture Components

Control Plane

The Control Plane is the central nervous system of Iris, built with modern technologies:

T3 Stack Integration

  • Built on the T3 Stack with ZenStack for type-safe database operations
  • Manages the message broker for efficient test distribution
  • Orchestrates the multimodal AI agents

Frontend Interface

  • Built with Next.js and TypeScript
  • Provides an intuitive interface for test creation and monitoring
  • Connects via tRPC for type-safe API communications

Data & Security

  • Authentication through secure OAuth providers
  • Prisma with ZenStack for robust database management
  • Enhanced access control and data security

AI Agent Network

Our AI Agents form a sophisticated distributed network that connects to the control plane through a message broker system. Each agent is equipped with advanced capabilities:

Natural Language Processing

Process and understand test specifications written in plain English

Multimodal Testing

Execute tests using combined vision, text, and interaction capabilities

Adaptive Learning

Automatically adjust to website changes through recursive learning

Real-time Updates

Update test results instantly to the central database

Network Capabilities

The distributed agent network provides:

  • Dynamic Scaling: Automatically scales based on testing demand
  • Self-Organization: Agents self-organize to handle different test types
  • Collective Learning: Learn from shared testing experiences
  • Autonomous Adaptation: Adapt to new testing patterns without manual intervention

AI Models

The agents leverage state-of-the-art AI models for:

Visual Understanding

Advanced processing of web interfaces and UI elements

Language Processing

Natural language understanding of test requirements

Behavior Modeling

Accurate simulation of human interactions

Test Generation

Automated creation and execution of test cases