/slashscore

faq.

Short answers about the index, the score, and your profile, including the two that matter most if you got here by finding yourself listed: what is stored, and how to have it erased. Every answer describes what the code actually does.

the basics

What is slashscore?

A public index of developer profiles, each carrying one 0–100 score computed from public activity by a single published formula. The home page is not a list but an explorable graph: developers, the technologies they write, and where they are, sized and lit by score.

Everything here is public by construction: handles, public activity counts, and the edges between them. The formula is a file in the repository, and the methodology page renders from that same file, so the published formula and the running one cannot drift apart.

Is this a hiring or recruiting product?

No, and that is a founding principle rather than a roadmap gap. There are no job listings, no recruiter tooling, no “open to work” flag, and none planned.

Anyone can read the public pages, recruiters included, the same way anyone can read a GitHub profile. Nothing on the site is built to serve them.

Where does the data come from?

GitHub’s public API, and nothing else at launch. Only public activity is read: public repositories, public contribution counts, and the public profile fields.

Private repositories, private contributions, and other platforms do not count toward anything. The schema and the API have been multi-source since day one, so further sources can land, but until one does, a slashscore is a GitHub score.

your profile & consent

Why is my profile here? I never signed up.

Because the index is seeded from public professional activity, so that the graph is a populated world on the day you arrive rather than an empty search box. An unclaimed profile is built entirely from data GitHub already serves to anyone who asks.

The lawful basis for the index is legitimate interest (GDPR Art. 6(1)(f)) over public professional activity. If you would rather not be in it, removal is verified and immediate: no form, no waiting period, no negotiation.

What do you actually store about me?

Handles, datasources, and public numbers: the metric counts the formula reads, the top languages across your public repositories, a coarse location, and dated score snapshots.

Not stored: your email address, which is discarded at sign-in and never written down; your real name; and your OAuth token, which proves who you are once and is then thrown away. There is no personal data in the database to leak, which is the point of thinking in handles rather than people.

How do I get my profile removed?

Sign in with the matching GitHub account on the removal page. Proving you control the handle erases everything about you on the spot: score, metrics, history, technologies, streak, achievements, the profile page, and the badge.

What survives is a SHA-256 hash of github:yourhandle on a suppression list. That is what stops any crawler from re-indexing you later. It is enough to recognise a handle it already holds, and useless for anything else.

If you change your mind, claiming your profile clears the suppression. Your consent overrides the earlier objection.

Is removal a hide, or a real delete?

A real delete, executed immediately. The rows are gone, the profile page 404s, and the badge stops rendering. Nothing sits in a “deleted” state waiting to be restored.

What does claiming a profile do?

It binds your GitHub identity to the profile and recomputes the score from live data straight away, instead of waiting for the nightly batch. It also opens a dashboard: badge embed, connected accounts, freshness status, achievement progress.

It does not change what other people see. The public profile page renders identically for every viewer, owner or not, so claiming grants control rather than visibility.

The only thing kept from the sign-in is your numeric GitHub user id.

Could someone else claim my profile?

No. A claim requires signing in with the GitHub account whose handle the profile is built on. If a profile is already bound to a different GitHub identity, the claim is refused rather than transferred.

the score

What does the number actually mean?

It is a percentile, not an absolute grade. A 70 means roughly 70% of the indexed pool scores below you. Half the pool sits under 50 by construction, which is the scale working as designed rather than a verdict.

How is it computed?

Percentiles all the way down. Every raw metric becomes its percentile rank over the entire pool; each dimension is the plain average of its metrics; a source’s sub-score is the weighted sum of its dimensions; the headline is that composite’s percentile over the pool again. No hand-tuned caps, no opaque model.

The GitHub dimensions and their weights: output 40%, adoption 25%, consistency 20%, influence 15%.

The methodology page draws the whole formula and works a real example through it, arithmetic included.

Which metrics feed it?

output: commits (last 12 months), pull requests merged into others’ repos (last 12 months); adoption: stars across owned repos; consistency: active weeks (of the last 52); influence: followers, code reviews on others’ pull requests (last 12 months).

Notice what those have in common. With the sole exception of the commit pulse, every dimension turns on somebody else acting: a maintainer merging your pull request, a developer starring your repository, someone else’s pull request existing for you to review. Peer validation is weighted over self-signable volume deliberately.

Why is my score lower than I expected?

Usually one of three reasons. It is relative, so you are ranked against everyone indexed rather than against a fixed bar, and a growing pool of strong profiles pushes everyone down. It weights peer-validated work, and its output dimension counts pull requests merged into other people’s repositories, not the ones you merged into your own. And it only sees public GitHub, so years of private or paid work are invisible to it.

A low score means the public, peer-validated signal is thin. It does not mean the work is.

My score moved and I did nothing. Why?

Percentiles are relative, so every profile added to the index shifts everyone else’s rank a little. A score that drops on a quiet week usually means the pool grew around you rather than that anything of yours got worse.

The reverse holds too: verifying an additional account can only raise your underlying composite, but the headline percentile can still drift afterwards, because it is measured against a moving field.

How often does it update?

The whole pool is re-ranked nightly at 04:00 UTC, which is what keeps percentiles honest as the index grows. Claiming a profile or connecting an account recomputes that profile immediately, without waiting for the batch.

Why does my profile show no score yet?

A freshly seeded profile starts as a handle and nothing else. It stays unscored until the backfill fetches its public metrics, at which point the nightly re-rank places it in the pool.

Claiming the profile skips the queue and computes it there and then.

Can I game it?

Not cheaply, by design. Merged pull requests only count in other people’s repositories, and stars, followers, and the reviews you leave all require other people’s work to exist. The one self-signable metric is your own commit volume, and it sits inside a 40% dimension that it shares with external pull requests.

Every metric is also a percentile, so a burst of activity moves you past exactly the people it actually passes, and the pool keeps growing underneath you. The cheapest way to raise the number is the thing the number is for: ship work other developers use.

Will the formula change?

The running version is frozen at v0, decided 2026-07-15. Recalibrating anything, weights included, means a new version file rather than an edit to this one, and every score snapshot records the version that produced it. History is never silently rewritten.

the graph

What do the nodes and edges mean?

Three kinds of node: developers, technologies, and locations. Developers are sized and lit by score, with a ring marking a claimed profile. An edge means what it looks like: this developer writes this language, this developer is in this place.

Nothing is encoded in position. Where a node sits is just the force simulation settling, so clusters are real relationships rather than a ranking you are meant to read.

Why can’t I see everybody at once?

Every subgraph response is capped server-side at 500 nodes by default, because tens of thousands of nodes stop being readable long before they stop being fast.

The filters are the way through it: technology, location, minimum score, claimed-only, plus handle search. They move the window across the pool rather than widening it.

Where do my technologies come from?

They are derived, not declared: the top five languages by bytes across your public repositories, weighted by size. There is no tag field to fill in, so write more of something and it moves.

How is my location determined?

From the free-text location field on your public GitHub profile, normalized against a gazetteer down to a coarse city or country. Nothing finer is derived, stored, or displayed, and no address or coordinate is ever inferred from your activity.

If the field is empty you simply have no location edge. It is not guessed.

badge & accounts

Can I put my score in my README?

Yes. https://www.slashscore.com/badge/{handle}.svg renders an SVG badge that tracks your score, and the dashboard hands you the markdown to paste. It refreshes on the same cadence as the profile page.

What happens when I connect another account?

Verification is OAuth where the source supports it, and otherwise a one-time token you place in that account’s bio or website field, which is checked through the source’s public API and then discarded.

Connecting can only raise your composite, never lower it. Sub-scores are combined with a decaying weight, so a second strong source adds real ground while a thin one cannot dilute your best.

Do you store my GitHub token?

No. The OAuth token confirms your handle once and is then discarded, never persisted. All metric fetching runs on slashscore’s own credential against public data rather than yours, so nothing you authorize leaves the site with standing access to your account.

still stuck

None of this answers my question.

Email privacy@slashscore.com. That includes the case where you need a profile removed but can no longer sign in with the GitHub account it belongs to, whether the account was deleted or access was lost. Those are handled by hand.

Still curious how the number is built? The methodology page draws the formula and works a live example through it. Want out? Removal is verified and immediate.

/slashscore · public data only · no PII stored