🖥️
Beautiful real-time macOS system dashboard
Monitor services, processes, CPU, memory, disk and logs — all from your browser.
Website · Install · Features · Contributing · Sponsor
mac-dash is a lightweight, real-time system dashboard for macOS. It runs a local web server and gives you a beautiful browser-based interface to:
- Monitor CPU, memory, and disk usage with live gauges and charts
- Manage LaunchAgents and LaunchDaemons (start, stop, enable, disable)
- Explore running processes (sort, filter, kill)
- Stream macOS unified logs in real-time
- Extend with plugins
Available as both a native desktop app (Tauri) and a web server (Bun + Hono). Desktop app uses native macOS APIs — no HTTP server, no Node.js, minimal overhead.
The native macOS desktop app uses Tauri — no server needed, native APIs, minimal resource usage.
Homebrew:
brew install --cask talhaorak/tap/macdashManual Download:
Download the latest .dmg from GitHub Releases and drag to Applications.
✨ Benefits: Native performance, no server, menu bar integration, auto-update support
For the web-based version with plugin support:
Quick Start (npx):
npx macdashGlobal Install (npm):
npm install -g @talhaorak/mac-dash
macdashHomebrew:
brew install talhaorak/tap/macdash
macdashFrom Source:
git clone https://github.com/talhaorak/mac-dash.git
cd mac-dash
bun install
cd client && bun install && cd ..
bun run devRequirements: macOS + Bun runtime
Real-time CPU, memory, and disk monitoring with animated gauges, sparkline charts, and hardware info.
Browse all LaunchAgents and LaunchDaemons across user, global, and system directories. Start, stop, enable, or disable services with one click.
View running processes sorted by CPU or memory. See detailed command arguments. Kill processes when needed.
Stream macOS unified logs in real-time via WebSocket. Filter by log level (error, warning, info, debug) or by process name.
Extend mac-dash with custom plugins that add new pages, API endpoints, and dashboard widgets.
plugins/
my-plugin/
manifest.json # Plugin metadata
server.ts # Backend API routes
client.tsx # React UI component
See plugins/README.md for the full plugin development guide.
# Start with default port (7227)
macdash
# Custom port
macdash --port 8080
# Or use environment variable
PORT=8080 macdashThen open http://localhost:7227 in your browser.
Install mac-dash as a LaunchAgent that starts on login:
./scripts/install-launchagent.sh| Layer | Technology |
|---|---|
| Runtime | Bun |
| Server | Hono |
| Frontend | React 19 |
| Styling | Tailwind CSS 4 |
| Bundler | Vite |
| Real-time | WebSocket |
| State | Zustand |
| Charts | Recharts |
mac-dash/
server/ # Bun + Hono backend
core/ # System info, launchctl, process manager, log reader
routes/ # REST API endpoints
ws/ # WebSocket hub with topic-based subscriptions
plugins/ # Plugin registry
client/ # React + Vite + Tailwind frontend
src/
components/ # UI components (Gauge, MiniChart, GlowCard, etc.)
pages/ # Dashboard, Services, Processes, Logs, Plugins
hooks/ # Custom hooks (useWebSocket)
stores/ # Zustand state stores
lib/ # API client, utilities
plugins/ # Plugin directory
website/ # Landing page (GitHub Pages)
scripts/ # Helper scripts
We welcome contributions! Please see our Contributing Guide for details.
If you find mac-dash useful, consider supporting the project:
Talha Orak — Software Architect
- GitHub: @talhaorak
- Website: talhaorak.github.io/mac-dash
MIT © Talha Orak