×Full view
Back to Portfolio

// .NET Core · C# · Windows · Real-time Charts

System Monitor App

Real-time Windows desktop app monitoring CPU, RAM, GPU, disk, and network performance with live charts and threshold alerts — built with .NET Core and C#.

Platform: Windows (.NET Core)
Language: C#

Overview

A professional-grade Windows system monitoring tool that provides real-time metrics for CPU usage per core, RAM availability, GPU utilization, disk read/write speeds, and network throughput. Data is polled at 1-second intervals and visualized as scrolling line charts. Users can set alert thresholds that trigger desktop notifications.

Tech Stack

.NET CoreC#WinForms / WPFPerformanceCounterLiveCharts2Windows Notifications

Key Contributions

  • Used Windows PerformanceCounter API and WMI queries for accurate hardware metrics across all major components.
  • LiveCharts2 for smooth real-time scrolling line charts with configurable time windows.
  • Background threading with SynchronizationContext marshaling to update UI without blocking.
  • Threshold alert system with Windows toast notifications using NotifyIcon.
  • Settings persistence with JSON config file — user-defined poll rate, thresholds, and chart colors.

Screenshots

Screenshot Screenshot

Results

The main technical challenge was keeping UI responsive at 1-second poll rates while WMI queries on some hardware could take 200-400ms. Solved with dedicated background threads per hardware category.