Skip to content

PersonaLayer/.github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 

Repository files navigation

PersonaLayer: Profile-Informed Web Personalization

License: MIT Chrome Extension Evaluation Suite Profiles

🌟 Key Features

  • 45 UX Profiles covering visual, motor, cognitive, and behavioral needs
  • Real-time Web Adaptation via Chrome extension
  • AI-Powered Personalization using GPT-4 and other LLMs
  • Automated Evaluation Suite for accessibility testing
  • WCAG 2.2 Aligned profiles and adaptations
  • Reproducible Benchmarking without extensive user testing

πŸ—οΈ Project Structure

PersonaLayer consists of two main components:

1. PL_WebAssist (Chrome Extension)

Real-time web personalization tool that applies AI-generated adaptations based on selected UX profiles.

PL_WebAssist/
β”œβ”€β”€ manifest.json         # Chrome extension configuration
β”œβ”€β”€ sidepanel/           # Main control interface
β”œβ”€β”€ content/             # Page adaptation scripts
β”œβ”€β”€ background/          # Service worker
β”œβ”€β”€ lib/                 # LLM client library
└── assets/              # 45 UX profiles

πŸ“– PL_WebAssist Documentation

2. PL_WebEval (Evaluation Suite)

Automated testing framework for evaluating web accessibility across profiles and generating comprehensive reports.

PL_WebEval/
β”œβ”€β”€ src/pl_webeval/      # Core evaluation engine
β”œβ”€β”€ scripts/             # Analysis and recovery tools
β”œβ”€β”€ data/                # Test cases and profiles
└── results/             # Test outputs and reports

πŸ“– PL_WebEval Documentation

πŸš€ Quick Start

Option 1: Chrome Extension (For End Users)

# 1. Install PL_WebAssist extension
1. Open chrome://extensions/
2. Enable Developer mode
3. Load unpacked β†’ select PersonaLayer_Main/PL_WebAssist
4. Get API key from openrouter.ai
5. Configure in extension side panel

πŸ“˜ Extension Quick Start Guide

Option 2: Evaluation Suite (For Researchers)

# 1. Install PL_WebEval
cd PersonaLayer_Main/PL_WebEval
pip install -e .

# 2. Set API key
export OPENROUTER_API_KEY="sk-or-..."

# 3. Run evaluation
python run_evaluation.py --testcases data/test_cases.csv

πŸ“˜ Evaluation Setup Guide

πŸ“Š The 45 UX Profiles

Our profiles are organized into 8 categories:

Category Count Examples
πŸ” Visual Accessibility 5 Low Vision, Color Blindness, Photophobia
πŸ–±οΈ Motor & Navigation 4 Reduced Dexterity, Keyboard-Only
🧠 Cognitive & Neurodivergent 10 ADHD, Dyslexia, High Cognitive Load
🎯 Personalization-Oriented 8 Minimalist, Power User, Speed Prioritizer
🧠 Behavioral & Emotional 13 Anxious User, Impatient User, Explorer
πŸ”Š Hearing & Media 2 Visual Notifications, Captions
πŸ€– Input Style 1 Voice-Only User
πŸ›‘οΈ General Safety 2 No Autoplay, Seizure-Safe

πŸ“– Complete Profile Documentation

πŸ’» System Architecture

graph TD
    A[User] -->|Selects Profile| B[PL_WebAssist Extension]
    B -->|Captures Page| C[Screenshot + HTML]
    C -->|Sends to| D[LLM API]
    D -->|Generates| E[CSS/JS Adaptations]
    E -->|Applies to| F[Web Page]
    
    G[Researcher] -->|Configures| H[PL_WebEval Suite]
    H -->|Tests| I[Multiple Websites]
    I -->|With| J[45 Profiles Γ— N Models]
    J -->|Generates| K[Reports & Metrics]
Loading

πŸ“ˆ Performance & Results

Evaluation Metrics

  • Accessibility Score: 0-100 WCAG compliance rating
  • Adaptation Effectiveness: 0-2 scale (none/partial/significant)
  • Visual Complexity: Reduced by average 35%
  • Cognitive Load: Decreased for 89% of tested profiles

Cost Analysis

Component Model Cost/Page Monthly (100 pages/day)
WebAssist GPT-4o ~$0.005 ~$15
WebAssist GPT-4o-mini ~$0.0002 ~$0.60
WebEval GPT-4o (full) ~$0.10 ~$300

πŸ”¬ Research Applications

PersonaLayer enables:

  • Accessibility Research: Automated testing across diverse user needs
  • UX Studies: Profile-based user experience evaluation
  • WCAG Compliance: Systematic compliance testing
  • AI Personalization: Exploring LLM capabilities for accessibility

πŸ› οΈ Technical Stack

  • Frontend: Chrome Extension APIs (Manifest V3)
  • AI/LLM: OpenRouter API (GPT-4, Claude, Gemini)
  • Evaluation: Python, Playwright, pandas
  • Analysis: matplotlib, seaborn, LaTeX
  • Automation: GitHub Actions, pytest

πŸ“š Documentation

🀝 Contributing

We welcome contributions! See our Contributing Guide for:

  • Adding new UX profiles
  • Improving adaptation algorithms
  • Enhancing evaluation metrics
  • Bug fixes and optimizations

πŸ“ Citation

If you use PersonaLayer in your research, please cite:

@article{XXX,
  title={xxxxx},
  author={[Authors]},
  journal={[Journal/Conference]},
  year={2025}
}

πŸ“„ License

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

πŸ™ Acknowledgments

  • WCAG 2.2 Guidelines for accessibility standards
  • OpenRouter for LLM API infrastructure
  • Chrome Extension team for platform support
  • All contributors and testers

πŸ“Š Star History

Star History Chart

πŸ”— Links


PersonaLayer - Making the web accessible for everyone, one profile at a time.

Install Extension | Run Evaluation | Read Paper

About

PersonaLayer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors