Skip to content
Tanishq Jain
Resume

BetaFree

VYRO

Know your machine. A Windows hardware monitor that reads sensors directly and stays light on your PC.

Role
Product owner and architect; field testing on real hardware
Timeline
Sep – Oct 2026 (v1.4.1 on 20 Oct 2026)
Status
Beta · Free download · a Jainav Infotech product
Platform
Windows 10 (21H2+) and 11, x64
  • Rust
  • Tauri 2
  • Svelte 5
  • TypeScript
  • SQLite
  • Three.js
  • Cloudflare Workers
Dashboard, live · VYRO 1.7.0 development build · 20 Oct 2026

TL;DR

  • Problem

    Hardware monitors tend to be heavy, cluttered, or built on someone else's monitoring library. I wanted one that's light, good-looking, and talks to the hardware itself.

  • What I built

    A Rust sensor engine that runs as a Windows service, plus a Tauri + Svelte app with animated gauges, seven days of history, alerts, game frame rates, fan control and an encrypted phone view.

  • Result

    Eleven public releases in about three weeks. At v0.2.0 it measured 0.46% CPU and about 125 MB of RAM with the window open; the v1.4.1 installer is 11.6 MB.

Simulated values — VYRO reads the real ones.

CPU30%4,695 MHz
GPU58%2,184 MHz
CPU temperature59 °CLast 60 s: low 46 °C, high 67 °C
CPU fan1,687 RPM

Computed in your browser; nothing is sent.

Footprint

CPU with the window open
0.46%
v0.2.0 · VYRO README.md, private repo
RAM with the window open
~125 MB
v0.2.0; 120 MB at v0.1.4 · VYRO README.md, private repo
startup to first data
0.76–1.02 s
v0.1.4–0.2.0 · VYRO README.md, private repo
installer
13.4 MB
v1.7.1 · Source: installer

Reference PC: AMD Ryzen 7 9700X, MSI B650M GAMING PLUS WIFI, 2x16 GB DDR5-5600, NVIDIA RTX 5060 Ti 8 GB, Windows 11

View data
VYRO footprint by version, on the reference PC
MeasureTargetv0.1.4v0.2.0
CPU, window visible< 1.5%0.68%0.46%
RAM, window visible< 120 MB120 MB125 MB
Startup to first data< 2 s0.76 s1.02 s
RAM, closed to tray-~40 MB (service 33 + app 7)-

What it shows

  • CPU: per-thread usage and clocks. On AMD Ryzen, also temperatures, per-core power and core voltage.
  • GPU: per-engine load and VRAM. On NVIDIA, also clocks, power, fan speed, throttle reasons, and hotspot and memory temperatures. On RTX 50-series cards the hotspot is read from the card's thermal registers, because NVIDIA's API no longer reports it.
  • Memory and storage: DDR5 module temperatures and timings; NVMe health and SATA SMART data.
  • Motherboard: fans, temperatures and voltages.
  • Displays: decoded EDID, refresh rate, HDR and colour details.
  • Also: network quality, processes, and game frame rates with 1% and 0.1% lows.
  • On top of the readings:
    • history from 5 minutes to 7 days;
    • compound alerts;
    • benchmarks compared only with your own PC's earlier runs;
    • a 13-check diagnostics report you can export;
    • a 3-D "My PC" view;
    • desktop widgets;
    • six themes;
    • a phone view.
VYRO Sensors table listing every reading with its value, minimum, maximum, average and source.
Sensors · VYRO 1.7.0 development build, 2560x1440 display · 20 Oct 2026
VYRO Health view: every subsystem within normal limits, a diagnostics panel and alert rules for CPU and GPU temperature.
Health · VYRO 1.7.0 development build, 4K display · 20 Oct 2026
VYRO replay of a 44-minute cs2 session: frame rate, frame time, CPU and GPU usage and temperatures over time.
Game replay · VYRO 1.7.0 development build, 2560x1440 display · 20 Oct 2026

Architecture

  • Service and app. A Rust engine runs as a Windows service. The app itself runs without admin rights and talks to the engine over a locked-down named pipe.
  • Low-level access. Low-level reads go through PawnIO, a signed driver that works with Memory Integrity turned on. The alternatives were a custom kernel driver, which would have needed paid signing, and WinRing0, which Windows blocks over CVE-2020-14979.
  • GPU data. It comes from the vendors' own libraries (NVML, NVAPI, ADL, IGCL), loaded only from System32. WMI is used only for one-off reads at startup, never in the polling loop.
  • One source of truth. The Rust structs define the data, and 201 TypeScript type files are generated from them; CI fails if the two drift apart.
  • Phone view. A Cloudflare Worker, with one Durable Object per PC, relays an end-to-end-encrypted stream to a phone web app.
My PC 3-D, rotated by hand · VYRO 1.7.0 development build · 20 Oct 2026

Keeping it light

  • Tauri over Electron. It uses Tauri with WebView2 instead of Electron.
  • Polling. The engine polls once a second, or every 5 s when hidden. When VYRO sits in the tray, the WebView is suspended.
  • One flag and a frame cap. A WebView2 flag and a 60 fps animation cap took RAM from 131 to 120 MB, peak RAM from 208 to 132 MB, and average CPU from 1.0% to 0.68%.
  • History memory. Keeping large history lists outside Svelte's reactivity cut the History view's JavaScript heap from 53.5 MB to 8.6 MB, and the highest total across all tabs from 295 MB to 167 MB.
  • Lazy 3-D. The 3-D view loads Three.js only when you open it, and CI enforces a size budget.

Results

Reference PC: Ryzen 7 9700X, RTX 5060 Ti, Windows 11.

MeasureTargetMeasured
CPU, window open< 1.5%0.46% (v0.2.0)
RAM, window open< 120 MB120–125 MB (v0.1.4–0.2.0)
Startup to first data< 2 s0.76–1.02 s
Installer< 60 MB11.6 MB (v1.4.0–1.4.1)
Cost of one poll—~9 ms
In-app readout, 1.7 development build on a 4K display (20 Oct 2026)—0.7–1.7% CPU and 246–270 MB app RAM; 5.5% and 341 MB with the 3-D view open
  • Footprint was formally recorded for v0.1.4 and v0.2.0 with the README's method. 1.x hasn't been re-measured that way; the in-app readout above suggests memory has grown with the features added since.
  • Tests and accessibility:
    • at the V2 milestone there were 614 Rust core tests and 132 frontend tests;
    • CI runs 664 automated accessibility checks;
    • all six themes meet WCAG AA contrast.
VYRO appearance settings: six themes, an accent colour wheel, update-rate profiles and an overlay preview.
Settings: appearance · VYRO 1.7.0 development build, 2560x1440 display · 20 Oct 2026

Limitations and what's next

  • Not code-signed yet. SmartScreen warns.
  • Hardware coverage is narrow so far:
    • low-level CPU sensors are AMD-only;
    • motherboard sensors cover one Nuvoton chip;
    • fan control is enabled on one verified board, the MSI B650M GAMING PLUS WIFI.
  • Next: DDR4, Intel CPUs and more boards — and VYRO Pro, launching soon.
VYRO fan control: each fan header follows the BIOS curve, with fixed and custom-curve options and full-speed safety limits.
Cooling · VYRO 1.7.0 development build, 4K display · 20 Oct 2026
How this was built

I wrote the product plan and the V2 plan, made the architecture and product decisions, and checked every release on real hardware. That included reference readings against HWMonitor (power matched the 88 W limit under Cinebench) and anti-cheat checks with real games. Claude Code wrote most of the implementation.