A macOS app and desktop widget for monitoring service status pages. Just paste a URL and the backend is detected automatically. Track uptime, view incident history, and get at-a-glance status from your desktop.
This is almost entirely vibe coded. I have neither the time nor the inclination to learn Swift, but I do need a handy desktop widget to keep an eye on the services I care about. Claude wrote most lines. If you spot places it could have done better, I'm all ears -- open an issue.
Grab the latest notarized build from GitHub Releases, unzip, and drag to Applications.
- Monitor multiple status pages (GitHub, Claude, OpenAI, Cloudflare, etc.)
- Uptime history bar with per-component breakdown where available
- Automatic backend detection -- just paste the URL
- Desktop widget showing current status
- Per-service refresh with configurable interval
- Smooth green-yellow-red gradient based on actual downtime duration
Requires macOS 14+, Xcode 15+, and XcodeGen.
git clone https://github.com/aahoughton/StatusMonitor.git
cd StatusMonitor
cp Local.xcconfig.example Local.xcconfig
xcodegen generate
open StatusMonitor.xcodeprojThe defaults in Local.xcconfig.example work for local builds. Edit Local.xcconfig to set your Team ID and bundle ID if you want to use the widget (see Enabling the widget).
Build and run (Cmd+R). To enable the widget, see Enabling the widget below.
The desktop widget requires an App Group so the app and widget can share data.
-
Set your Team ID and bundle ID in
Local.xcconfig -
Register the App Group in your Apple Developer account:
- Identifier:
group.<YOUR_TEAM_ID>.<YOUR_BUNDLE_ID_BASE> - Enable App Groups on both your app and widget App IDs
- Identifier:
-
Regenerate and rebuild:
xcodegen generate
Without this setup the app works normally but the widget can't read your service list.
StatusMonitor/ # Main app (SwiftUI)
StatusMonitorWidget/ # Widget extension (WidgetKit)
Shared/ # Shared code (models, networking, persistence)
Tests/ # Unit tests
scripts/ # Build and release scripts
project.yml # XcodeGen project definition
Just paste the URL and the backend is detected automatically:
- Atlassian Statuspage -- per-component uptime bars with incident attribution
- incident.io -- page-level uptime with component current status
- Instatus -- component status and active incidents
- Hyperping -- service status with 90-day uptime snapshots
- Statuspal -- hierarchical services with incident history
- OpenStatus -- monitor status from
*.openstatus.devpages
