ProbeLayer
ProbeLayer finds where real users get stuck and where bad actors get through before launch.
Core trick
Drives multiple persona browser agents through live web flows, capturing screenshots and DOM signals to split UX and red-team findings.
Description
ProbeLayer finds where real users get stuck and where bad actors get through before launch. It tests live web flows with distinct personas, captures screenshots / DOM signals, and returns clear UX, accessibility, and abuse findings with fixes. It's a synthetic user testing platform, that splits into 2 multi-agent teams: UX and Security/Vulnerability problems, with clear fixes.
README excerpt
# Probelayer Probelayer is a synthetic human failure testing platform for pre-release UX, trust, accessibility, cognitive load, and defensive pen-testing. The current dashboard runs a dual-wing supervisor: - UX Suite for confusion, trust, accessibility, and overload - Red Team Suite for button mashing, repeated submits, bypass attempts, and defensive abuse checks ## Run locally 1. Install dependencies: ```bash npm install ``` 2. Copy the env template and paste your Gemini API key: ```bash cp .env.example .env ``` 3. Install the browser runtime: ```bash npx playwright install chromium ``` 4. Start the app: ```bash npm run dev ``` ## Model setup - `OPENAI_COMPAT_CHAT_URL` should point at an OpenAI-compatible Gemini endpoint. - `OPENAI_COMPAT_API_KEY` should contain your Gemini API key. - `VISION_MODEL` is set to `gemini-3.5-flash` by default. ## Dashboard tabs - `Dashboard` runs the concurrent supervisor and shows wing-separated findings. - `GitHub` lists repositories server-side with a GitHub token so you can stage future CI/CD runs. - `Assistant` suggests persona packs from a product description and lets you accept or discard them. ## What Probelayer does - Captures a live page with Playwright - Extracts DOM facts and interaction signals - Runs persona-based failure simulation - Runs UX and red-team suites concurrently through a central supervisor - Supports heuristic fallback if no model endpoint is available - Displays findings as scores, summaries, and vi