Back to blog
7 min readMay 5

I have 800-plus starred repos on GitHub and I cannot find the one I needed yesterday

You starred 800-plus repos meaning to come back. The list has no tags, no use-case search, no memory of why you saved each one. Here is what actually works.

I have 800-plus starred repos on GitHub and I cannot find the one I needed yesterday

You are looking for a small library you starred sometime last spring. You think it was a Python thing. Maybe Rust. Definitely something to do with parsing config files. You open github.com/stars and scroll. You hit the search box. You try parser. You try config. You try yaml. You scroll past 600 repos that all look mildly relevant and none of them match the one in your head.

This is not a memory problem on your side. It is a tooling problem. You knew exactly why you starred that repo when you starred it. You just had nowhere to put the why.

Why does the GitHub star list stop scaling around 200 repos?

A fresh GitHub account with twenty stars is fine. You remember every one of them. Around 100 stars the chronological feed still works, and the star list page is browsable in a single scroll. Past 200, the experience flips: search becomes the primary navigation, and search on stars is shallow by design. It matches on repo name, owner, and the public description string. It does not match on README content, on language inferred from code, on the tag of "good first issue" labels, or, most importantly, on the reason you starred it.

If you star a repo called awesome-llm-tools because someone in a Discord thread said it had the best comparison of inference engines, that context never lands in GitHub. Six months later, when you remember the comparison but not the repo name, you have no way back to it. By the time many active developers have been on GitHub for two or three years, the star list has become a sediment layer: useful for proving you have good taste, hard to use for finding anything.

What does GitHub actually let you do with your stars?

Three things, and that is the whole feature surface: star a repo, unstar a repo, browse the list. Lists (the grouping feature added a few years ago) let you bucket starred repos into named collections, which sounds like a fix until you try to use it. You have to manually file every star into a list, the list names are flat strings with no hierarchy, and the search inside a list is the same shallow match-on-name search. Many developers I have watched try lists for a week, file maybe 30 starred repos, and stop.

The star itself carries no metadata you can add later: no note, no tag, no "why I saved this" field. The mental model GitHub holds about your star is just a row in a table linking your user id to the repo id, plus a timestamp.

Where do developers actually store the why?

In practice the why scatters: a Slack DM to yourself with a link, a Notion page called "libraries to try", a comment in a notes.md at the root of an unrelated repo, an Obsidian vault, browser bookmarks tagged with dev, a Raindrop collection, a Pinboard account if you are over 35. Each of these can work for a few weeks. The harder problem is that the moment of saving and the moment of recalling are months apart, and you have no shared language between them.

You saved a repo thinking "this might help with the OAuth thing on the staging app." You search for it thinking "that library that did the PKCE flow nicely." Different words, same intent, zero overlap in any tool's search box.

How does this break compared to other developer second-brain pain?

It is a similar pattern many developers describe with StackOverflow favorites lists, Slack saved messages, and read-later queues like Pocket. The mechanism repeats across tools: a low-friction save button (one click, one star, one bookmark, one Cmd-S) plus a chronological list view plus a shallow search equals a sediment layer. You add to it. You rarely subtract from it. You rarely return to it. You feel guilty about it once a quarter.

The developer-specific twist is that the cost of the failure is higher. You are losing implementation patterns, security gotchas, library comparisons, debugging tricks. The stuff in your star list is more valuable than the stuff in many non-developer save lists because it represents pre-vetted solutions to problems you have actually had. Losing it means re-solving solved problems on the company clock.

What would a working version of GitHub stars look like?

A working version would let you, at the moment of starring, attach a sentence about why. Not a tag, not a list, a sentence. "This is the Rust crate that handles async TLS without bringing in tokio." Then, six months later, you could ask for "that Rust TLS thing without tokio" and get it back. The save would carry intent forward in time.

Since the star itself is a social signal as much as a personal bookmark (it boosts the repo's visibility, it shows up on your profile, it feeds the trending algorithm), the recall layer is a separate job that lives outside GitHub.

How does dEssence help?

dEssence is memory you don't have to maintain. Three co-equal save surfaces feed into one recall layer: the Chrome extension (click the dEssence icon on a GitHub repo page, drop a sentence about why you starred it), the Telegram bot (forward a link from your phone with a one-line note), and the web app at dessence.ai (paste a URL and a description from anywhere). No folders, no tags, no organizing. You save it, forget it, ask for it later.

Later means actually later: when the build is broken and you remember "that Rust TLS crate that skipped tokio," you ask in your own words and the repo comes back with the sentence you left for yourself. The original GitHub star stays where it is; dEssence becomes the separate recall layer.

Honest about where dEssence is: it is in beta. There is no native iOS or Android app yet (Chrome extension, Telegram bot, web app are the three surfaces). The paid tier ($9 per month Pro) is not finalized, and there is a 500-item cap on the free tier today. Team and shared-list features are not built. If your save volume is heavy industrial, the cap will pinch before the paid tier is locked in.

Frequently asked questions

Can I export my GitHub stars to organize them somewhere else?

Yes. GitHub's API exposes your starred repos at /users/<you>/starred with pagination, and there are several scripts (and GitHub Actions) that dump the full list to JSON or markdown. The export gives you the repo URL, name, description, and star date. What it cannot give you is the reason you starred each one, because GitHub never captured that.

Why does GitHub's star search find so few of my actual stars?

The search on github.com/stars matches against repo name, owner, and the short description string on the repo, and that is the whole index. It does not search README content, code, topics applied by maintainers, or any note from you. If the keyword you remember does not appear in those three fields, the search returns nothing useful even though the repo is in your list.

Are GitHub lists a good way to organize starred repos?

Lists work if you file repos into them at the moment of starring and your taxonomy stays stable. They tend to fail the way many folder systems fail: a year in, the categories you picked do not match how you now think about the work, and the cost of re-filing is higher than the cost of just searching. Lists also do not let you add a note per repo.

What is the difference between starring and watching a repo on GitHub?

Starring is a personal bookmark and a public social signal: it adds the repo to your stars list and counts toward the repo's visible star count. Watching subscribes you to notifications for issues, PRs, and releases on that repo. Watching is for notifications, not personal recall.

How many starred repos is too many?

There is no hard ceiling, but the practical limit is the point where chronological scroll stops working and you have not built any external recall system. For many developers that is somewhere between 200 and 500 stars. Past that, every star is write-only by default unless you have a layer that captures intent.

If you want to keep starring repos without losing them to the chronological dump, try dEssence at dessence.ai. Free during beta, no card required. Save the repo with a sentence about why, ask for it in your own words later.