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.
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.
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.
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.
Ship with confidence
Triage findings, approve visual baselines, and let the platform block bad merges before they reach main.
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.
// .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.
Trigger
A PR opens, a webhook fires, a schedule ticks. Viziera receives a signed run request and pulls the relevant scenarios for the change.
Drive
The desktop driver opens a browser (or your native app), authenticates, and executes each scenario with self-healing selectors and retries.
Observe
Every click, network request, console log, and pixel is captured. The AI tester flags anomalies; visual regression diffs against your baseline.
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.
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.
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.
