Chuzz is a pure Rust web browser built on the Pathscale Blitz engine. It does not embed WebKit, Chromium, Electron, or Tauri.
cargo run -p chuzz # opens a blank tab
cargo run -p chuzz -- example.com # opens a bare hostname over HTTPSA non-URL argument is not a search: anything that is neither a URL nor a hostname does nothing, so a mistyped path cannot quietly navigate somewhere unrelated.
The window is a Chrome-shaped shell: tab strip on top, toolbar under it, page filling the rest.
apps/chuzz/src
main.rs window, startup URL, and the shell layout
tab_strip.rs tab row: select, close, new tab
toolbar.rs back, forward, reload, address bar
tab.rs one tab: history + loader + the document on screen
document_loader.rs fetch a URL, parse it into a page document, abort the previous load
history.rs per-tab session history and the engine's navigation hook
nav.rs what a typed string means: URL, bare hostname, or search
ui.rs stylesheet for the browser UI
crates/chuzz-control built-in diagnostics and agent-control interface (in-process, no server)
The browser UI is itself a Blitz document, driven by Dioxus Native. Each tab's page is a
separate child document mounted inside the UI's web-view element. Page markup and browser
markup never share a DOM, so a site's CSS cannot restyle the toolbar and the toolbar's CSS
cannot leak into the site.
Everything a browser decides rather than renders stays in this binary: tabs, session history,
address-bar interpretation, and error pages. The engine only reports that a navigation was
requested; history.rs decides what the back and forward stacks look like afterwards.
Pathscale Blitz supplies HTML parsing, Stylo CSS, Taffy layout, networking, Vello rendering, input, and accessibility. The renderer is Vello on wgpu, following AgencyZero's Blitz performance thesis: Metal on macOS, with the Vulkan and D3D12 paths preserved for Linux and Windows.
apps/chuzz/build-app.sh # release, the default
apps/chuzz/build-app.sh debug # unoptimised, for a backtraceWrites target/<profile>/bundle/macos/Chuzz.app, ad-hoc signed. Drag it to
/Applications, or open it in place.
The icon is apps/chuzz/icons/icon.icns, committed. Its source is
icons/icon.html, which Chuzz renders itself: apps/chuzz/icons/build-icon.sh
rebuilds the icns and is only needed when the markup changes.