← arif.sh
Project system

GoVisual

Zero-config HTTP request visualizer for Go applications.

View on GitHub

What it does

GoVisual wraps a standard Go http.Handler, captures request and middleware behavior, stores the events, and serves a local dashboard at the configured path.

System map

1
input
App Handler
Existing net/http mux
2
service
govisual.Wrap
Functional options configure capture
3
service
Middleware
Request body, response body, timings
4
storage
Store
Memory, SQL, Redis, MongoDB
5
output
OpenTelemetry
Optional trace export
6
output
Dashboard
/__viz request inspection

Codebase read

  • The public API is intentionally small: Wrap(handler, opts...) and functional options.
  • Storage can be memory, Postgres, Redis, SQLite, MongoDB, or an existing SQLite connection.
  • The dashboard path is intercepted before regular app traffic, so the developer tool ships inside the wrapped server.

Key snippet

handler := govisual.Wrap(
    mux,
    govisual.WithRequestBodyLogging(true),
    govisual.WithResponseBodyLogging(true),
    govisual.WithOpenTelemetry(true),
)

http.ListenAndServe(":8080", handler)

Tech used

Gonet/httpOpenTelemetryRedisPostgreSQLSQLiteMongoDB

Source paths inspected

wrap.gooptions.gointernal/middlewareinternal/dashboardinternal/store

More project systems

FastAPI RadarReal-time request, SQL query, exception, and trace dashboard for FastAPI apps.
LLMDogTerminal UI for selecting code context and turning it into LLM-ready Markdown.
PromptPilotPrompt versioning and A/B testing across AI providers.
GIQAI-enhanced Git workflow assistant that keeps normal Git semantics intact.