Snapdash — lightweight desktop widgets for Home Assistant sensors (Rust, cross-platform)

Hey everyone!

I’d like to share Snapdash — a lightweight desktop widget system
that displays live Home Assistant sensor data directly on your
desktop.

What it does

Each sensor you select becomes a small, frameless floating window
(widget) with a native macOS-style look. Widgets update in real time
over WebSocket — no polling, no browser tab needed.

Key features:

  • :high_voltage: Real-time updates via HA WebSocket API with pulse animation
    on state change
  • :window: Frameless widgets — transparent, rounded corners, draggable
    anywhere
  • :locked: Secure — token stored in OS keychain (macOS Keychain /
    Windows Credential Manager / Linux Secret Service), never in config
    files
  • :globe_with_meridians: Cross-platform — macOS (Apple Silicon), Windows,
    Linux
  • :feather: Lightweight — built in Rust with GPU-accelerated rendering,
    designed for 24/7 background operation

Installation

macOS (Homebrew):
brew tap schizza/tap
brew install --cask snapdash

All platforms: download pre-built binaries from GitHub
Releases
.

From source (Rust 1.85+):
git clone GitHub - schizza/snapdash: A pluggable desktop widget system - Home Assistant today, anything tomorrow. · GitHub
cd snapdash
cargo build --release

Quick start

  1. Launch Snapdash → Settings window opens automatically
  2. Enter your HA URL (e.g. http://homeassistant.local:8123)
  3. Create a [Long-Lived Access Token](https://www.home-assistant.io/d
    ocs/authentication/#your-account-profile) and paste it in
  4. Click Save → Snapdash connects and lists your sensors
  5. Tick any sensor → a floating widget appears on your desktop
  6. Drag widgets wherever you want

Why Rust?

I wanted something that runs 24/7 without eating memory or CPU.
Electron was too heavy for showing a single number. Rust +
iced (GPU-accelerated UI
framework) gives native performance with minimal footprint —
typically <30MB RAM, <1% CPU at idle.

Current status

:construction: **v0.0.2 — It works, but expect rough edges.

What’s working:

  • :white_check_mark: WebSocket connection with auto-reconnect
  • :white_check_mark: Sensor picker GUI
  • :white_check_mark: Live updates with pulse animation
  • :white_check_mark: Mac Light / Mac Dark theme
  • :white_check_mark: Drag & drop widget positioning
  • :white_check_mark: Update notifications
  • :white_check_mark: Homebrew installation

On the roadmap:

  • :bar_chart: Sensor history & sparkline charts
  • :electric_plug: Plugin API for non-HA data sources
  • :pushpin: System tray & autostart
  • :writing_hand: Signed macOS/Windows binaries

Links

Feedback welcome!

I’d love to hear:

  • What sensors do you want on your desktop?
  • What features are you missing?
  • How does it run on your system? (OS, HA version)

If you find a bug, please open an issue — there
are templates for bug reports and feature requests.

Thanks for trying it out! :raising_hands:

1 Like