Pyxis

See how your application connects

Pyxis turns recorded UI journeys into a map of screens, states, and transitions. Explore the details, compare variants, and share the whole picture

Swift recording tools · Browser viewer · Portable recordings

—
Loading example…
Live example · Expand a domain or choose a journey. Drag to pan, pinch to zoom.Open in Pyxis ↗

A screenshot shows a state. A map shows the journey

Keep the path between screens alongside the captures, so you can see what happened and how you got there

Follow the flow

Explore authored journeys across domains, screens, and states. Every transition belongs to the path your tests recorded

Inspect the variations

Choose appearance, language, device, and text size independently. Compare captures and see which combinations are complete, partial, or unrecorded

Keep it together

Screenshots, state details, and recording results travel in one .pyx artifact. Open it in the browser, share it with your team, or save a copy for offline use

Two parts. One recording

Record in Swift. Explore on the web

The package and viewer work independently, connected by a portable recording format. The Swift package is open source under the MIT license. The browser viewer is free to use, with an open-source release planned

pyxis-swift

Record in your project

Your tests already know the way

Add recording to existing or dedicated UI tests. Your app keeps its navigation, fixtures, and state IDs. Pyxis captures the checkpoints and exports the result

  • Add recording to synchronous or async XCTest journeys
  • Record and optimize a variant matrix or selected configurations from YAML
  • Update a persistent recording store and export a complete .pyx
  • Apply optional launch-time variant overrides
Swift package
pyxis-frontend

Explore in your browser

Give the recording room to unfold

Drop a recording onto the canvas and explore it by screen or state. Inspect captures, follow journeys, and compare variants without running the app again

  • Drop a .pyx file directly into the viewer
  • Inspect captures at their stored resolution and compare variants
  • Load images on demand
  • Explore recordings in the free browser viewer

How it works

From a test run to the whole journey

  1. 01

    Record a journey

    Choose meaningful checkpoints in your UI tests. Pyxis records their captures, variants, and transitions

  2. 02

    Build one artifact

    Record selected configurations and optimize images in one command. Export a complete .pyx, including earlier recordings retained in your store

  3. 03

    Explore the map

    Open the viewer and drop in a .pyx file. Follow a journey, inspect a state, or compare two captures

Command-line quick start

Create your first .pyx file

Generate a sample recording, validate its contents, and package it into a .pyx file ready to open in the viewer

Get pyxis-swift
01 · Generate a recording
swift run pyxis demo --output .generated/demo
02 · Validate the bundle
swift run pyxis validate .generated/demo
03 · Package it for sharing
swift run pyxis pack .generated/demo --output .generated/demo.pyx

Run from the package checkout, then drop .generated/demo.pyx into the viewer. Use a new archive filename when repeating the commands. Swift 6.2+ · macOS 14+

Your recordings, your choice

Keep it local. Share it when it helps

Local imports stay in the browser

The viewer reads imported files on your device. No upload endpoint, account requirement, or telemetry

A recording you can keep

Export a complete .pyx for your team, or save a recording for offline use in this browser. Keep your recording store locally, in Git or LFS, or on a mounted drive

Share recordings with your team

Send a .pyx file for teammates to open in the browser viewer. Your app code and authored tests remain the source of truth

Explore with Pyxis

See where your next screen leads

Open Pyxis