Device History

WTF just disconnected? Real-time USB device monitor for Windows with a neon-themed GUI, event logging, and CLI mode.

v0.8.3 - Tauri v2 + Svelte 5 rewrite

Complete Tauri v2 + Svelte 5 rewrite. Glassmorphism UI, 4 themes, full emoji support.

Device History v0.8.3 - Monitor tab with live device tracking
Device History - Known Devices tab with storage info
Device History - About page
500msPoll Rate
4Themes
~7MBBinary Size
v0.8.3Version

Features

Everything you need to track what's happening on your USB bus.

Live Monitoring

Background thread polls WMI every 500ms. Instant detection when devices connect or disconnect.

Event Cards

Color-coded cards with left accent bars. Green for connect, red for disconnect. Timestamp, device name, VID:PID, class, manufacturer.

4 Premium Themes

Neon, Dracula, Catppuccin Mocha, and Pastel (light). Smooth transitions with Material Design easing. Glassmorphism panels with backdrop blur.

Known Devices Database

Remembers every device ever connected. Search, sort by 5 modes, set nicknames, view first/last seen timestamps and connection count.

Storage Detail Panel

Click any storage device to see animated capacity bars (green→yellow→red), volume info, model, serial, firmware, interface type.

File Logging

Every connect/disconnect event is logged to device-history.log with millisecond timestamps. Survives restarts.

CLI Mode

Run with --cli for colored terminal output. Same monitoring, no GUI. Pipe it, script it, watch it in a terminal.

System Tray

Closing the window hides to the system tray instead of quitting. Right-click to show, hide, or exit. Double-click to restore. Always watching, never in the way.

Device Nicknames

Rename any device to something you'll actually recognize. "USB Composite Device" becomes "Quest Link Cable" or "Wacom Tablet". Persisted across sessions.

Known Devices

Remembers every device it's ever seen with first-seen and last-seen timestamps. Build a history of your USB ecosystem over time.

Search & Sort

Filter devices and events by name, ID, or class. Sort by any column. Find what you're looking for in a list of 50+ USB devices.

Storage Details

Capacity bars, drive letters, volume names, model, serial number, firmware version, and interface type for every disk drive. See exactly how full your drives are.

CSV Export

Export your entire event log as a CSV file. Useful for tracking patterns, sharing with IT, or feeding into other tools.

Sound Notifications

Optional audio beep on connect/disconnect events. Hear what's happening even when the window is minimized to tray.

Update Checker

Silently checks GitHub for new releases on startup. If a newer version exists, a clickable banner appears in the header.

Keyboard Shortcuts

Escape to close detail panels, 1/2/3 to switch between Monitor, Known Devices, and About tabs. Fast navigation without the mouse.

Portable

Single .exe, ~7 MB. No installer, no setup, no runtime dependencies. Download it, run it, done. Runs on any modern Windows machine.

How It Works

Simple WMI-based polling with diff detection.

Query WMI

Queries Win32_PnPEntity for all USB devices via the wmi crate. Gets name, device ID, description, manufacturer, and PnP class.

Snapshot & Diff

Takes a device snapshot every 500ms on a background thread. Diffs against the previous snapshot to find new and removed devices.

Log & Display

New events are pushed to the shared state, logged to file, and rendered as neon-styled cards in the GUI.

Tech Stack

Rust for speed and safety. Single binary, no runtime dependencies.

Rust Tauri v2 Svelte 5 TypeScript Vite WMI Glassmorphism

Download & Install

Download .exe

⬇ Portable .exe (~7 MB)

Standalone binary. No installer needed, just run it. Windows only.

Build from source

git clone ...device-history
cd device-history
npm install
npx tauri build

Requires Rust toolchain + Node.js. Builds installer and portable .exe.