Surface Dashboard — A Custom Electron + React Desktop Dashboard for Windows
Surface Dashboard — A Custom Electron + React Desktop Dashboard for Windows

What is Surface Dashboard?
Surface Dashboard is a personal side project I’ve been building to scratch my own itch: a clean, modern, modular desktop dashboard for Windows users. It’s built entirely with Electron and React, designed to run as a standalone desktop app and provide a personalized control panel for monitoring system performance, launching apps, checking the weather, and controlling media.
It’s not a productivity tool per se—it’s a visual experience that brings together information, control, and style into one desktop window.
Why I’m Building It
As someone who works full-time in development and systems, I often switch between work, gaming, and personal modes on my PC. I wanted a tool that reflects that context-switching: one dashboard for each “mode”, showing only the widgets I care about.
While tools like Rainmeter or Conky exist, I wanted to build something modern, reactive, and entirely JavaScript-based, with all the freedom that comes from writing my own widgets and managing state with React.
This is also a long-term experiment in building Electron-powered user interfaces that are fast, modular, and responsive.
Stack & Architecture
- Frontend: React with custom components and contexts for themes, dashboards, and widget settings
- Electron: For wrapping the app into a desktop experience and communicating with system APIs
- System Monitoring:
systeminformationnpm package - Weather API: OpenWeatherMap
- Media Integration: Spotify Web API
- Styling: CSS variables for light/dark mode, responsive grid layout
- IPC: Custom Electron preload & IPC handlers for each widget
You can check out the full repo on GitHub:
👉 https://github.com/NickArm/surface-dashboard
Core Features (so far):
- 🧩 Multi-Dashboard Support: Switch between “Work”, “Gaming”, and “Personal” dashboards
- 📊 System Monitor Widgets: CPU, memory, disk, GPU, uptime, network
- 🌤️ Weather Widget: Real-time weather with auto-location
- 🎵 Spotify Widget: Play, pause, skip, and view current track info
- 🚀 App Launcher: Quick-launch app shortcuts with smart icon detection
- 🎨 Modern UI: Animations, touch support, responsive layout, theme switching
Important Notes
- This project is very early in development and is still evolving weekly.
- Some widgets are fully working, others are under construction.
- If you want to contribute, you’re welcome to open issues or PRs on GitHub!
Next Goals
- Add more widgets (calendar, RSS, timezones, system toggles)
- Add drag-and-drop widget layout builder
- Improve performance on lower-end machines
- Package a stable installer
Final Thoughts
This is one of those “build what I wish existed” kind of projects. It’s not perfect—yet—but it’s fun, functional, and improving all the time.
If you’re into Electron apps, desktop customization, or want to help shape this into something bigger, feel free to jump in:
📦 GitHub Repo → github.com/NickArm/surface-dashboard
Stay tuned for more updates as I iterate, break, fix, and expand what Surface Dashboard can do!
Made with ❤️ for Windows power users.
— Nick
