Skip to content

alessgorgo/Peek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Peek

License Github star

Peek - Advanced macOS Network Monitor

Peek is a lightweight yet powerful macOS menu bar application that delivers real-time, detailed insights into your network connection. It sits discreetly in your menu bar, providing at-a-glance monitoring of download/upload speeds, packet flow, connection quality, and latency — all without interrupting your workflow.


📸 Screenshots

Here's a look at Peek in action. The interface features a refined dark theme with clean typography, subtle gradients, and consistent card-based layouts deeply integrated with the macOS aesthetic.

Screenshot Description
Peek Dashboard The Dashboard provides a comprehensive overview of your network activity through six real-time charts: speed trends, packet flow, connection quality gauge, bandwidth utilization donut, latency timeline, and connection status — all in a clean two-column grid.
Peek Statistics The Statistics Cards display current and trend metrics at a glance — download/upload speeds, packet counts, peak performance, average connection quality, and session uptime in a structured four-column layout.
Peek Preferences The Preferences Panel will soon allow you to customize Peek, with options for theme selection, icon customization, update intervals, display preferences, and advanced analytics.

📚 Table of Contents


🎯 Key Features

  • Real-Time Network Monitoring: Track upload and download speeds with live data updated every second, displayed through interactive sparkline charts and adaptive speed formatting.
  • Menu Bar Integration: Access network statistics directly from a compact popover with sparklines, quality indicators, and packet counters — all without leaving your current task.
  • Six Dashboard Charts: Visualize your network through speed trends, packet flow bars, a connection quality gauge, bandwidth utilization donut, latency timeline, and connection status area charts.
  • Connection Quality Scoring: An at-a-glance quality gauge combines speed, stability, and connectivity into a single percentage score with color-coded status.
  • Detailed Packet Analysis: Monitor packets sent and received in real time, with historical bar charts showing traffic patterns throughout the day.
  • Latency Tracking: Track network latency over time with color-coded thresholds (excellent, good, fair, poor, critical) for quick assessment.
  • Lightweight and Efficient: Built with performance in mind — minimal CPU and memory footprint during continuous monitoring.
  • Privacy First: All data is processed locally on your machine. Nothing is ever sent to or stored on external servers.
  • Native SwiftUI Interface: A refined dark theme with custom design tokens, smooth animations, and consistent card-based layouts built entirely with SwiftUI and Swift Charts.

🔧 Installation

Peek is distributed as a pre-compiled macOS application (.app file).

  1. Download the Latest Release: Navigate to the GitHub Releases page and download the PeekApp.zip file.
  2. Unzip the File: Double-click the downloaded .zip file to extract the application.
  3. Move to Applications: Drag Peek.app to your /Applications folder.
  4. Run the App: Double-click the app to launch it.
  5. Grant Permissions: On the first launch, macOS may ask for permissions to monitor network activity. This is required for Peek to function correctly.

🚀 Usage Guide

Menu Bar Popover

The core of Peek resides in your menu bar, providing instant access to real-time network statistics.

  • Live Sparklines: See download and upload speed trends directly in the popover with mini sparkline charts showing recent history.
  • Speed Display: Current speeds are shown in adaptive units (B/s, KB/s, MB/s) with color-coded progress bars scaled to your connection's peak capacity.
  • Connection Quality: A five-bar signal indicator with percentage score gives you an instant read on overall network health.
  • Packet Counters: Real-time counts of packets in and packets out, plus cumulative data totals for the session.
  • Session Info: Uptime counter and last-updated timestamp keep you informed about monitoring status.

Dashboard Window

Click the popover header or the Settings button to open the full dashboard window. Here you will find:

  • Current Statistics: Eight stat cards showing download/upload speeds, packet counts, peak performance, average quality, and session uptime.
  • Speed Chart: Line and area chart tracking download and upload speeds over time with smooth Catmull-Rom interpolation.
  • Packet Chart: Stacked bar chart showing packets received and sent at each sampling interval.
  • Quality Gauge: Circular progress indicator showing overall connection quality as a percentage with color-coded status.
  • Bandwidth Donut: Donut chart breaking down bandwidth utilization between download, upload, and available capacity.
  • Latency Timeline: Line chart with threshold markers showing latency measurements color-coded by quality tier.
  • Connection Status: Area chart tracking connection availability and quality over time.

Sidebar Navigation

The collapsible sidebar provides quick access to three sections:

  • Monitor: The main dashboard with all charts and statistics.
  • Customize: Upcoming customization options for themes, icons, intervals, and display preferences.
  • Update: Version info, update checking, and links to releases, issue reporting, and support.

⚙️ Technical Specifications

  • Language: Swift
  • UI Framework: SwiftUI with Swift Charts for data visualization
  • Minimum macOS Version: macOS 14.0 (Sonoma)
  • Architecture: The app uses an observable object pattern with NetworkMonitor for data collection, ChartDataManager for chart state, and SwiftUI views for presentation.
  • Network Monitoring: Peek reads network statistics from the system using netstat to capture byte and packet counts per interface, computing speeds from deltas between samples.
  • Design System: Custom design tokens (EnhancedColors, AppGradients, AppShadows) ensure visual consistency across all components with a refined dark theme.
  • Menu Bar Integration: Uses NSStatusItem with NSPopover for the menu bar widget, and a standalone NSWindow (900x650, non-resizable) for the dashboard.

🔒 Privacy and Security

Your privacy is a core principle of this project. Peek is designed with the following commitments:

  • Local-Only Processing: All network analysis and data processing happen exclusively on your Mac. No data is ever transmitted to or stored on any external servers.
  • No User Accounts or Tracking: Peek does not require you to sign up, create an account, or provide any personal information. There are no tracking analytics.
  • No Network Requests: Peek does not make any outbound network connections. It only reads local system statistics.
  • Transparent Permissions: The application only requests the permissions it absolutely needs to function. You can manage these permissions at any time in System Settings > Privacy & Security.

🛠️ Troubleshooting

If you encounter any issues, here are a few common solutions.

Issue Solution
App Won't Launch or Shows an "Unidentified Developer" Warning This is standard macOS security. Right-click the Peek.app icon, select "Open," and confirm you want to run it. You only need to do this once.
No Data is Displayed in the App Ensure you have granted Peek the necessary network permissions in System Settings > Privacy & Security. A restart of the app may be required after granting permissions.
Reported Speeds Seem Inaccurate Peek reports speeds based on raw network interface byte counters via netstat. This may differ from online speed tests, which measure throughput to a specific remote server and can be affected by latency and server load.
Charts Show "Loading..." Indefinitely The speed chart requires at least 3 data points before rendering. Wait a few seconds for the data collection timer to gather enough samples.

If your issue persists, please feel free to open an issue on this repository.


🗺️ Development Roadmap

Peek is under active development. Here are some of the features planned for future releases:

  • Customizable Themes: Theme selection, icon customization, and display preferences through the Customize tab.
  • Configurable Refresh Intervals: Allow users to adjust data collection frequency and chart history length.
  • Real Latency Measurement: Replace sample data with live ping-based latency tracking.
  • Customizable Alerts: Set up notifications for high network usage, connection drops, or unusual activity.
  • Per-Process Monitoring: Identify which applications and processes are using the most bandwidth.
  • Historical Data Export: Allow users to export network activity logs to CSV or JSON for further analysis.
  • Dynamic Menu Bar Icon: Show live speed readings directly in the menu bar text.

📜 License

Peek is released as Freeware. You are free to download and use this application for both personal and commercial purposes at no cost.

However, you may not modify, decompile, or redistribute the application without explicit permission from the author. For full details, please see the License file included in this repository.

About

A lightweight macOS network monitoring app built with SwiftUI that provides real-time bandwidth tracking, packet monitoring, and network analytics directly from your menu bar

Topics

Resources

License

Stars

Watchers

Forks

Contributors