Browserlay

A Windows desktop app that creates a translucent, always-on-top browser overlay. Type a URL, drop the opacity, toggle click-through — keep a stream, dashboard, or doc page floating over your work.

Features (Phase 1 / MVP)

  • Frameless, transparent overlay window pinned over other apps.
  • Real-time opacity slider (10%100%) backed by Win32 SetLayeredWindowAttributes — true OS-level translucency.
  • Always-on-top toggle.
  • Click-through toggle — mouse events pass through to the app underneath.
  • Ctrl+Alt+Space global hotkey to toggle click-through from anywhere (the escape hatch when you can't click the overlay).
  • Last URL, opacity, and toggle states persist between sessions.
  • Window position and size remembered between sessions.

Dev setup

Prereqs: Node 18+, Rust toolchain (rustup), Tauri 2 prereqs for Windows (WebView2 ships with Windows 11).

cd browserlay
npm install
npm run tauri dev

Frontend tests:

npm test

Build

npm run tauri build

Outputs an MSI/NSIS installer under src-tauri/target/release/bundle/.

Architecture

Two-window Tauri 2 app. Control window hosts a React + Tailwind v4 + Zustand UI; overlay is a frameless transparent webview spawned at runtime pointing directly at the user-supplied URL. Per-window capability files lock the overlay down — pages it loads can't call any Tauri APIs.

The click-through escape hatch (Ctrl+Alt+Space) runs in Rust via tauri-plugin-global-shortcut so it works regardless of focus. Window opacity drops down to Win32 directly because Tauri 2.11.x doesn't expose set_opacity (open issue tauri-apps/tauri#3279).

See docs/plans/2026-05-08-browserlay-mvp-design.md for the full design.

Roadmap (Phase 2)

Presets · configurable hotkeys · system tray icon · edge-snap · multi-monitor placement · in-overlay toolbar.

Description
Browser Overlay Project
Readme 330 KiB
Languages
TypeScript 75%
Rust 21.8%
CSS 1.8%
HTML 1.4%