Showcasing a Full-Stack Swift Project: Linux Hardware Monitoring with Vapor & SwiftUI

Hi everyone,
As a computer engineering student preparing for GSoC 2027, I wanted to dive deep into Server-side Swift and demonstrate its capability outside the Apple ecosystem.
I recently built SwiftServerMonitor, a full-stack system monitoring tool written entirely in Swift. The goal was to securely read low-level hardware telemetry on an Ubuntu server and visualize it in real-time on Apple platforms.
Since I wanted to keep the architecture clean and decoupled, I divided the project into two separate repositories:

  1. The Backend (Vapor on Ubuntu)

Instead of executing shell commands, this Vapor API reads directly from Linux virtual file systems (/sys and /proc). It tracks CPU thermal zones, battery care charging states, RAM allocation, and storage capacities natively.
2. The Client (SwiftUI for iOS/macOS)

A native multiplatform dashboard that consumes the Vapor API. It uses async/await, URLSession, and custom ZStack/Circle components for a modern, dark-mode optimized UI that avoids the clipping issues of standard Gauges.

Building this has been an incredible learning experience, especially seeing how memory-safe and performant Swift is as a backend technology on Linux.
I would love to hear any feedback from the community on the code structure, especially regarding Linux file system interactions or ways to optimize the Vapor routing!

5 Likes