Viziera
Platform

The desktop app

that tests like a user

Native automation, AI-led exploration, visual regression, and CI integration โ€” packaged as one local-first desktop application.

Architecture

Six layers. One product.

Each layer was designed to fix a specific blind spot in our previous QA stack. Together, they form the desktop app we always wanted.

๐Ÿ–ฑ๏ธ

Desktop Driver

Real mouse, real keyboard, real screen โ€” Viziera drives your machine the way a user would, reaching past anything a headless browser can see.

๐ŸŒ

Browser Layer

Headed Chromium with self-healing selectors, multi-viewport sweeps, network interception, and video capture for every scenario.

๐Ÿ•ต๏ธ

AI Beta Tester

Crawls your product autonomously, prioritizes by likely bug density, and files reproducible findings with screenshots and repro scripts.

๐Ÿ”€

Workflow Engine

If/else, foreach, parallel branches, wait-for-event, and per-step error handlers โ€” the same control flow you'd want in production code.

๐Ÿ—‚๏ธ

Findings Database

Local SQLite with full-text search, severity scoring, flakiness tracking, and a per-finding history of repros across runs.

๐Ÿ”

CI Integrations

Bearer-token webhook endpoint, GitHub status checks, PR comments with media, and Slack / Discord / Teams / Email notifications.

How It Works

From install to PR-blocking in four steps.

Most teams have their first scenario running in under an hour and their first PR gated by the end of the day.

01

Author a scenario

Write a scenario in TypeScript and drop it in your repo โ€” Viziera auto-discovers it. Or record one with the Chrome extension and the runner generates the file for you.

Auto-discovered scenarios + Chrome recorder + CLI
02

Wire up your repo

A bearer-token webhook ties Viziera to GitHub. Runs fire on PRs and pushes, with a status check and a PR comment back when they finish.

PR-delta filtering, status checks, and PR comments out of the box
03

Add an AI beta tester

Let the autonomous tester explore the parts of your app you didn't think to script. Findings come back ranked by severity.

AI prioritization, repro scripts, and flakiness tracking
04

Ship with confidence

Triage findings, approve visual baselines, and let the platform block bad merges before they reach main.

Triage queue, baselines, Slack / Linear / Jira routing
0%
Pass rate in pilots
~0s
Avg PR feedback
0+
Integrations
0K
Load test scale

Developer Experience

Build with code. Ship with confidence.

Typed TypeScript scenarios auto-discovered from your repo, a thin REST API, and the @viziera/cli for running and exporting artifacts from your terminal. Open formats. No vendor lock-in.

TypeScript scenarios
REST API
Token-auth webhooks
CLI
Chrome extension
Open formats
scenario.ts
// .viziera/scenarios/checkout.ts
// Auto-discovered by the runner โ€” no import needed

export default scenario({
  name: 'Guest checkout โ€” happy path',
  url: 'https://shop.example.com',
  viewports: ['desktop', 'mobile'],
  steps: async (page) => {
    await page.click('Add to cart');
    await page.type('#email', 'test@viziera.dev');
    await page.expect('Order confirmed');
  },
});

// $ viziera run โ†’ 2 viewports, 0 findings โœ“

Run Lifecycle

Trigger. Drive. Observe. Report.

Every Viziera run follows the same four-phase loop โ€” from PR webhook to PR status check, with full artifacts captured along the way.

01

Trigger

A PR opens, a webhook fires, a schedule ticks. Viziera receives a signed run request and pulls the relevant scenarios for the change.

PR webhook
Scheduled runs
Manual trigger
02

Drive

The desktop driver opens a browser (or your native app), authenticates, and executes each scenario with self-healing selectors and retries.

Headed browser
Native desktop
Auth + 2FA hand-off
03

Observe

Every click, network request, console log, and pixel is captured. The AI tester flags anomalies; visual regression diffs against your baseline.

Screenshot + video
Console + network
AI anomaly review
04

Report

Findings are written to the local database, posted to your PR as a status check, and routed to Slack, Linear, or Jira as configured.

PR status check
Triage queue
Slack / Linear / Jira

Security & Compliance

Local-first. Compliance-ready.

Runs execute on your machine. Findings live in a local SQLite database; screenshots and traces stay on your filesystem. The cloud is opt-in, not required.

Local-first storage

Findings, screenshots, and traces are written to a SQLite database in your home directory โ€” never sent off-machine unless you opt into the cloud runner.

Token-auth CI

Webhook endpoints require a per-project bearer token. Revoke any time; nothing fires without a valid header.

Replayable audit trail

Every step, network call, console log, and AI decision is recorded. Replay any run from the desktop app, step by step.

Optional cloud runner

Need to run from CI on Linux? Point Viziera at a Browserbase cloud session. Same scenarios, same artifacts โ€” your choice when to use it.

2FA hand-off

When a scenario hits a 2FA code prompt, Viziera pauses and waits โ€” you supply the code from your phone. No TOTP secrets stored.

Compliance-friendly

Continuous WCAG 2.2 audits via axe-core, per-page severity reports, and an enterprise tier for SSO + on-prem deployment.

Why Viziera

The reason your QA tool keeps failing you, and how we built around it.

Most test frameworks ship as a library and leave you to assemble flake-resistance, AI exploration, native control, and CI integration yourself. Viziera ships those as one product, designed end-to-end.

โœ•
Flaky tests that go red on selector tweaks
Self-healing selectors that fall back to text, aria, and semantic matches
โœ•
Headless browsers that can't see native dialogs
Real desktop control โ€” mouse, keyboard, screen, and OS-level prompts
โœ•
Tests only catch what an engineer thought to write
Autonomous AI tester that explores beyond your scripted scenarios
โœ•
Cloud runners holding your credentials and screenshots
Local-first runs with on-machine artifacts and keytar-backed secrets
โœ•
CI integration buried in YAML for days
Bearer-token webhook + PR status check that drops in within an hour

Philosophy

Built forControlled Autonomy

Viziera runs autonomously when you trust it, and asks for approval when you don't. You decide which scenarios block a merge and which findings need a human eye.

โšก

Run on every commit

Scenarios fire on every PR, post pass/fail to your repo, and link to recordings of any failed step โ€” no extra YAML.

๐Ÿ›ก๏ธ

Your data stays local

Runs execute on your machine. Findings live in a local SQLite database; screenshots and video go to your filesystem; webhook secrets and GitHub tokens are stored in the OS keychain via keytar. The cloud is optional.

๐Ÿ“‹

Audit every action

Every click, keystroke, network call, and AI decision is recorded. Replay any run, step by step, with full context.

โœ…

Human-in-the-loop when it matters

Auto-promote stable baselines; pause for approval on schema-changing flows or accessibility regressions you haven't reviewed.

See the platform on your stack

Early access pilots run on real products โ€” tell us about yours and we'll wire it up together.