Skip to content

Add nicer reporting with live-updating web dashboard #10

Description

@ichoosetoaccept

Goal

Provide a better user experience for monitoring by adding a live-updating web dashboard alongside the existing terminal output.

Proposal

Create an optional HTTP server that serves an HTML dashboard showing real-time system metrics with auto-refresh capabilities.

Implementation Ideas

  • Add a --web or --dashboard flag to launch the web interface
  • Serve on localhost with a configurable port (e.g., http://localhost:8080)
  • Use WebSockets or Server-Sent Events for live updates
  • Display metrics in a clean, responsive HTML interface
  • Keep terminal output as the default for simplicity

Technology Options

  • Python built-in: Use http.server or socketserver with minimal dependencies
  • Flask/FastAPI: Lightweight web frameworks (adds dependencies)
  • Caddy: While Caddy is a great web server, it doesn't have a Python package - it's a standalone Go binary that would need to be bundled/installed separately

Features

  • Real-time CPU, memory, and process metrics
  • Historical graphs/charts
  • Process list with sorting/filtering
  • Auto-refresh with configurable intervals
  • Mobile-friendly responsive design

Considerations

  • Should remain an optional feature (don't force web server dependency)
  • Keep the package lightweight
  • Terminal output should remain the primary interface

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions