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

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

September 28, 2025

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: systeminformation npm 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

Hello! We are a group of skilled developers and programmers.

Hi, I’m Nick — Full Stack Developer & Digital Entrepreneur

I design, build and deploy high-impact digital systems — from WordPress to Laravel APIs and React apps. Based in Greece, working worldwide.