When you’re working across multiple repositories in an organization, keeping track of what’s happening becomes surprisingly tedious. You end up with a dozen browser tabs open, constantly switching between repos to check issues, pull requests, and branch activity. I got tired of this workflow, so I built Repo Dashboard - a local-first tool that aggregates GitHub data across repositories into a single view.
The Problem
My day-to-day involves managing several repositories for different projects. The GitHub web interface is great for individual repos, but when you need visibility across multiple repos at once, it falls short. I found myself:
- Opening multiple tabs just to check PR status across projects
- Missing issues because they were scattered across different repos
- Losing track of which branches had recent activity
- Wasting time navigating between repositories
I wanted something that would show me everything in one place, without the overhead of a full-blown project management tool.
What It Does
Repo Dashboard is a simple Node.js application that runs locally. You point it at a GitHub organization, select the repositories you care about, and it shows you a three-column dashboard with:
- Issues - Open issues across all selected repos
- Pull Requests - Open PRs with their status and labels
- Branches - All branches sorted by last commit date
Each column can be independently sorted and filtered by repository, labels, or assignees. Clicking any item opens it directly on GitHub.
The key design decisions:
- Local-first: Runs on your machine with your GitHub token. No data leaves your computer.
- Read-only: It only reads from GitHub, never writes. No risk of accidental changes.
- No persistence: Fresh data every session. No database, no sync issues.
- Simple stack: Node.js backend, React frontend. Nothing fancy.
How It Works
The architecture is intentionally minimal:
Your Browser → React Frontend → Express Backend → GitHub API
The backend acts as a thin proxy over the GitHub API, handling pagination and rate limits. It caches responses in memory for 5 minutes to avoid hitting rate limits too quickly. The frontend handles all the sorting and filtering client-side.
To run it:
export GITHUB_TOKEN=your_token_here
npm install
npm run backend:dev # Port 3001
npm run frontend:dev # Port 5173
Your token needs repo scope for private repositories, or just public_repo if you only need public ones.
Why Not Just Use GitHub Projects?
GitHub Projects is great for planning and tracking work over time, but it relies on everyone in your organization following specific workflows consistently - labeling issues properly, choosing the right project, maintaining project boards, and so on. Expecting multiple developers working remotely and asynchronously to use GitHub Projects in exactly the same way is simply not realistic.
Repo Dashboard takes a different approach: it automatically fetches all issues, PRs, and branches without anyone needing to follow any specific workflow. It just works, regardless of how your team organizes their work.
Plus, it runs locally with no setup beyond a GitHub token. No configuring views, no inviting team members, no learning a new interface.
Limitations
This is a simple tool built for a specific use case:
- No write operations - you can’t create issues or merge PRs from here
- No background sync - data is fetched when you load or refresh
- Rate limits apply - large organizations with many repos will take time to load
Try It Out
The code is available at github.com/rouralberto/repo-dashboard. Clone it, set your token, and you’re good to go.
If you’re managing multiple repositories and want a quick way to see what’s happening across all of them, give it a try. It’s nothing revolutionary - just a practical tool that scratches a specific itch.