ghboard

A GitHub activity dashboard that lives in your terminal. Contribution heatmap, starred repos, live notifications, all in a BubbleTea TUI. No browser required.

Gosingle static binary
CIgreen
REST+ GraphQL APIs
MITlicense
╔══════════════════════════════════════════════════════════╗
║  Heatmap   Stars   Notifications                         ║
╠══════════════════════════════════════════════════════════╣
║  Null-Phnix · 1,247 contributions in 2026                ║
║  Sun ░ ░ ▒ ▒ ▓ █ █ ▓ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░            ║
║  Less ░ ▒ ▓ █ More · [ / ] year · hjkl navigate          ║
╚══════════════════════════════════════════════════════════╝

Why I built it

I live in the terminal. My whole loop is terminal, editor, terminal, git, terminal, Claude Code, terminal. The one thing that kept pulling me out was GitHub. Check a notification, open a browser. Remember what I starred last week, open a browser. Every time, a context switch into a tab that then sits open for six hours.

None of what I wanted needs a browser. Notifications are a list. Stars are a list. The contribution heatmap is a grid of shaded cells, and block characters render that fine. Nobody had put them in a TUI, so I did.

Go and BubbleTea

Built in Go with BubbleTea, which gives you a clean Elm-style architecture for terminal UIs and compiles to one static binary. No runtime, no dependencies, a file you drop on your PATH. It talks to both GitHub APIs, REST for most things and GraphQL for the heatmap, with token auth and a configurable refresh. hjkl and arrows to navigate, because of course.

Small tool, and that is the point. Not everything needs to be a platform. Some of the highest value code you can write removes one recurring friction from your own day.

Open source on github. Write-up: a GitHub dashboard for my terminal →