SAYA
Keyboard-First Zen Browser

Browsers are heavy, noisy and full of trackers. Saya (Urdu for 'shadow') is a minimal, keyboard-first browser with ad and tracker blocking built into the native navigation layer — not bolted on as an extension you have to trust.
Origin Story
I wanted a calm browser where blocking was part of the engine, not a plugin I had to remember to install and keep updated.
How It's Built
The interesting part is native adblocking: Brave's adblock-rust runs inside the Rust navigation handler, so requests are filtered before the WebView ever sees them — engine-level, not page-level.
Engineering Notes
Adblock in the engine, not an extension
Brave's adblock-rust runs inside the Rust navigation handler, so trackers and ads are filtered before the WebView ever sees the request. Blocking is the browser's job here, not a plugin you have to remember to install.
Keyboard-first, minimal chrome
Built on Tauri 2 over WebView2 with a React 19 UI, Saya is a zen surface — empty by default, keyboard-driven, present only by whatever it follows. It's Windows-focused today, with some polish still in progress.
Gallery




Saya is a statement that privacy belongs in the engine, not in a plugin you have to remember to install — the block should be the browser's job, not yours.
What It Does
Native Adblock
Brave's adblock-rust filters requests in the Rust navigation handler, before the page loads — no extension required.
Keyboard-First
A zen, keyboard-driven surface with minimal chrome, built for people who live on the home row.
Native Shell
Tauri 2 over WebView2 keeps it small and fast, with a React 19 UI on top.
Where It Stands
Saya works today on Windows with engine-level adblock and a keyboard-first surface; some polish like backdrop blur is still in progress. The clear next step is a macOS build, since the Rust core and adblock-rust integration are platform-agnostic.
Saya is Tauri 2 + Rust (adblock-rust, xcap) over wry / WebView2, with a React 19 + Tailwind UI. Ad and tracker filtering happens inside the navigation handler in Rust, so it is engine-level. Windows-focused today, with some polish (backdrop blur) still in progress.