DEV Community

Cover image for Drowning in GitHub notifications? I built a fix
knox-night
knox-night

Posted on

Drowning in GitHub notifications? I built a fix

I built GitHub Digest to fix a problem I kept running into: my GitHub notifications were buried in noise, and I couldn't tell what was actually waiting on me.

The problem

My GitHub notifications were a mess. Hundreds of them, and I could never tell which ones were waiting on me and which were just noise. A review request would sit under 40 threads I didn't care about.

What I built

GitHub Digest logs you in with GitHub and sorts your notifications into three groups:

  • Needs you now: review requests, questions aimed at you, failed builds
  • Worth a look today: mentions and comments
  • Can wait: everything else

Each thread also gets:

  • A short AI-written summary of what it's asking you to do
  • A "Why it's here" line, like "Someone needs your review"
  • Done and Mute buttons, so a thread you don't care about stays gone

Review requests that sit for 2+ days get a "Waiting" badge.

How it works

  • Backend: Node.js and Express
  • Login: GitHub OAuth. It only asks for read:user and notifications, never access to your code
  • Database: Turso (hosted SQLite). Access tokens are encrypted before they're stored
  • AI summaries: Google Gemini, for your 20 most urgent threads. Only the title, type, reason and repo name are sent, never the thread contents
  • Hosting: Render

What I learned

  • Getting OAuth, sessions and a database working together taught me more than any tutorial.
  • A bug that only showed up on the live site (a wrongly named environment variable) took me hours to find. Check your deploy logs first.
  • Someone on Reddit told me a priority label is easier to trust when it explains itself. I added the "Why it's here" line the same day.

What's next

  • Letting users correct a priority when it's wrong
  • Daily email digests (the code is in, but I haven't turned it on yet)

It's free while I build it. Try it here: https://githubdigest.space

I'm building this solo and would love honest feedback. What's confusing, what's missing, and what would make you actually use it?

Top comments (0)