Ever tethered from your iPhone for "just a quick Zoom call" and ended up burning through half your monthly data?
Yeah, me too. Multiple times.
The problem
macOS doesn't distinguish between your home WiFi and your iPhone hotspot. Activity Monitor shows total bandwidth, but not "how much data did I use specifically on this limited connection?"
Existing solutions either:
- TripMode ($15/year) - Overkill. I don't need app blocking, just awareness
- Bandwidth+ (Free) - Doesn't know the difference between hotspot and home WiFi
So I built HotspotPeek
A simple menu bar app that:
- Detects hotspot connections using
NWPathMonitor.isExpensive - Tracks data per session and per month
- Supports multiple profiles (personal phone, work phone, travel MiFi)
- Alerts before you hit your cap
Technical bits
Built with SwiftUI + AppKit (NSMenu for native feel). Uses:
-
NWPathMonitorfor connection type detection - CoreWLAN for SSID identification (to auto-switch profiles)
- Pure system frameworks, no external dependencies
macOS 14+ only because I wanted to use the @Observable macro.
Lessons learned
- Sweet spot matters - Found the gap between "too basic" and "overkill"
- Location permission UX - Needed for SSID access on Sonoma+, had to explain clearly why
- Menu bar apps - NSMenu > NSPopover for authentic macOS feel
This is part of my "Peek" series - simple utilities that surface hidden macOS info:
- VPN Peek (VPN status + leak detection)
- Signal Peek (WiFi signal strength)
- Battery Vitals (battery health)
- Storage Peek (disk info)
Available on the Mac App Store for $4.99 one-time purchase.
No BS subscriptions.
https://apps.apple.com/us/app/hotspot-peek/id6757591640?mt=12
What's your experience with data caps? Any features you'd want to see?

Top comments (1)
More info about Hotspot Peek π
anhphong.dev/apps/hotspot-peek