I built a GitHub dashboard for my terminal
My whole workflow is a loop through one application: terminal → editor → terminal → git → terminal → Claude Code → terminal. The one thing that kept yanking me out of it was GitHub. Check a notification, open a browser. Remember which repo I starred last week, open a browser. Glance at my contribution graph, open a browser. Every time, a context switch out of the shell and into a tab I'd then leave open for six hours.
The terminal is the right surface
None of what I wanted from GitHub actually needs a browser. Notifications are a list. Stars are a list. A contribution heatmap is a grid of shaded cells, and block characters render that fine in a terminal. The only reason I was opening a browser was that nobody had put these in a TUI. So I did.
╔══════════════════════════════════════════════════════════╗ ║ Heatmap Stars Notifications ║ ╠══════════════════════════════════════════════════════════╣ ║ Null-Phnix · 1,247 contributions in 2026 ║ ║ Sun ░ ░ ▒ ▒ ▓ █ █ ▓ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ║ ║ Less ░ ▒ ▓ █ More · [ / ] year · hjkl navigate ║ ╚══════════════════════════════════════════════════════════╝
Go and BubbleTea
I built it in Go with BubbleTea, which gives you a clean Elm-style architecture for terminal UIs, and it compiles to a single static binary. No runtime, no dependencies, just a file you drop on your PATH. It uses GitHub's public developer interfaces and lets me browse repositories, issues, pull requests, notifications, and contribution history. hjkl and arrows to navigate, because of course.
Open source on github.