GitDealFlowsignals
By |Founder & Principal Analyst, VC Deal Flow Signal|

Every dev has invested in unicorns. They just don't know it.

I shipped Receipts at signals.gitdealflow.com/receipts. Paste your GitHub username, get a Scout Score from your starring history. The unicorns you starred before the news broke, Vercel at 200 stars, LangChain in week 2, OpenAI before the $157B round, are now worth points. Free, no login, no OAuth.

Key Takeaway

GitDealFlow now grades your GitHub starring history against ~75 validated unicorns. Each early star is points. Five perfect calls is a Scout Score of 100. Sindresorhus scored 36 on launch day with OpenAI starred 24 months early. tj scored 22 with Deno + Tauri called 4 years early. Your turn.

15 sectors tracked|411 startup signals|Data: Q3 2026|Updated weekly

Saturday morning I shipped Receipts. Free tool, no login, eight seconds from paste to shareable card. The hook is one line: every dev has invested in unicorns, they just do not know it.

Here is what it does. You paste your GitHub username at signals.gitdealflow.com/receipts. We fetch your public starring history. We cross-reference every starred repo against a curated database of ~75 validated unicorns, companies that hit a $1B+ valuation, raised a Series A or later, were acquired, or crossed 25K+ stars in the last five years. For each match we measure how many months early you starred. Twenty-four months early on a $1B-valuation company gets you the maximum 100 points. Five perfect calls is a Scout Score of 100.

That is the whole product. No login. No OAuth. No private repos read. Just public starring metadata that GitHub has been quietly broadcasting for fourteen years.

Why backwards-looking#

We already shipped a forward-looking version. /predict is a six-month prediction game where you call whether a startup will raise a Series A. It works. It has a leaderboard, an OG card, a welcome onboarding sequence, a public profile at /s/[handle]. But it has a virality ceiling I underestimated. Twitter does not share things that pay off in Q4.

Receipts is the inversion. You do not have to wait six months. The receipts already exist in your GitHub account. We just made them visible.

The first viral test was tj. TJ Holowaychuk's first three hundred starred repos contained two early calls: Deno (48.7 months early) and Tauri (42.5 months early). Scout Score: 22. Rank: Scout. The second test was sindresorhus. Five matched wins, four called early, top one OpenAI starred 24.4 months before the $157B valuation. Score: 36. Rank: Scout. Both cards rendered as 1200×630 PNGs and look exactly like the kind of thing developer Twitter shares to flex.

That is the whole bet. People share Spotify Wrapped. People share their Strava year. People share their Letterboxd top ten. There has never been a "look at the unicorns I starred early" card. Now there is.

The scoring math#

I want to be precise about how the score works because the math is the trust layer. For each starred repo that matches a validated win:

``` months_early = (event_date - star_date) / 30.4375 if months_early <= 0: points = 0 # You starred late. Sorry. else: points = weight × min(months_early / 24, 1.0) ```

Weight scales with the event: - Series A = 50 - Series B = 70 - Series C and beyond, or acquisition = 80 to 90 - $1B+ valuation or post-IPO = 100 - Mass-adoption milestone (25K+ stars without public funding) = 30 to 50

We dedupe by company, starring three Vercel repos counts as one win, taking your earliest star date. Top 5 wins are summed and normalized so five perfect early calls equals a Scout Score of 100. Rank ladder is shared with /predict: Curious → Scout → Sharp → Elite → Oracle.

The full validated-wins database is hardcoded JSON in the repo. It is not exhaustive. It is biased toward developer-tools, AI, and data/ops companies that have public GitHub presence. Closed-source unicorns are unrepresented. If your favorite unicorn is missing, your real Scout Score is higher than what we display. That is a known false-negative and we add to the list as we learn.

What I left out#

The first version is intentionally under-engineered.

**No persistence.** Each receipt is computed on demand and cached for 24 hours via Vercel's CDN. We do not save your Scout Score to a database. We do not link your receipts to a /predict scout account unless you explicitly come over and predict. There is no "claim your score" gate, no email capture, no upsell on the result page. The CTA at the bottom is a soft link to /predict, not a modal.

**No AI commentary.** I considered adding an Anthropic API call to generate a one-paragraph "your taste personality" blurb. Decided against it: deterministic templates are faster, free, and reliable. The current commentary is built from category counts ("you have a clear bias for AI/ML infrastructure" / "an operator's instinct for observability and workflow tools") with the top win surfaced by name. It will get smarter as the database grows.

**No comparison feature.** There is no "compare with friend" button. The viral loop is the permalink at /receipts/[username], every shared card has a stable URL that anyone can click and see the same result. Permalinks are the comparison surface; we do not need a UI for it.

**No fancy graphics.** The OG card is one big number, three early calls, a footer. No charts, no animations, no character avatars. The card has to read in 0.4 seconds in a Twitter feed. Anything more is friction.

How the dev-loop ran#

Total ship time was about three hours from "paste your GitHub username" idea to live in production. The architecture leans hard on what was already built:

- **PocketBase** was not used. Receipts is stateless. - **The OG image route** at /api/og/scout/[handle]/route.tsx was the template, same dark gradient, same monospace stat blocks, same rank colors. The Receipts card at /api/og/receipts/[username]/route.tsx is a 200-line variant. - **The 5-email welcome sequence** at /lib/soap-opera-scout.ts already exists. Receipts does not trigger it. /predict does. We keep one funnel, not two. - **The validated-wins database** is a static JSON file. About 75 entries. I curated by hand from memory, Crunchbase summaries, and a quick pass through the most-starred OSS repos from 2021-2025. It will be a moving target, every quarter has new unicorns and old "wins" get re-validated.

The trickiest part was the GitHub rate limit. Unauthenticated, the API gives you 60 requests per hour per IP. That is fine for a single user pulling their own history (one to three paginated calls). It dies the second the launch tweet goes out. The fix was a fine-grained PAT with zero scopes, even an empty-permission token bumps the rate limit to 5,000 per hour. Plus an in-memory cache per Vercel Function instance. Plus the 24-hour CDN cache via stale-while-revalidate. Together those handle a viral spike without ceremony.

The bigger play#

The reason Receipts exists is to feed /predict. The conversion path is:

  1. Receipt card goes viral on Twitter.
  2. Friend sees it, clicks, enters their own username.
  3. Friend gets a Scout Score, learns the ranks (Curious → Scout → Sharp → Elite → Oracle).
  4. The result page CTA links to /predict.
  5. They make a forward-looking call. The Scout Game starts. The welcome sequence kicks off.

Receipts is a free top-of-funnel for a paid product. Same brand, same vocabulary, same ranks, different timing. /predict resolves in six months. Receipts resolves in eight seconds. We can finally tell people why they should care today.

What I want from you#

If you have a public GitHub account, paste your username at signals.gitdealflow.com/receipts. Three things help:

  1. **Tweet the card.** Cards have stable permalinks at /receipts/[your-username]. Anyone who clicks gets their own card. The viral loop is the whole ROI.
  2. **Tell me what is missing.** If you starred a unicorn we do not have in the database, the score under-counts you. Reply with the org and the validation event and I will add it.
  3. **Now go predict.** The receipts are backwards. The Scout game is forwards. /predict is where the points keep flowing.

The receipts already exist. I just made them visible.

Sources & methodology: According to data from GitHub API v3 (commit activity, contributor counts, repository metadata), as analyzed by VC Deal Flow Signal's methodology. Signal classification and engineering acceleration metrics are computed weekly across 15 startup sectors. Data current as of Q3 2026. This is not investment advice.

About the author

The Data Nerd

Founder & Principal Analyst, VC Deal Flow Signal

Engineer turned venture-data researcher. Builds the weekly GitHub engineering-acceleration panel and maintains the methodology behind every signal on the site.

Frequently Asked Questions

What does Receipts actually do?

You paste a GitHub username. We fetch the user's public starred repos via the GitHub API (no login, no OAuth, starring history is public metadata). Then we cross-reference each starred repo against a curated database of ~75 validated unicorns: companies that hit a $1B+ valuation, raised a Series A or later, were acquired, or crossed 25K+ stars in the last five years. For every match, we measure the gap between when you starred the repo and when the validation event happened. The earlier you starred, the more points. Top 5 wins are summed and normalized to a 0-100 Scout Score, with a rank from Curious to Oracle.

Why backwards-looking? The Scout game on /predict is forwards.

/predict asks you to call a startup before they raise. The resolution window is six months. That works for taste validation but it has a virality ceiling, Twitter does not share things that pay off in Q4. Receipts inverts the timing: you get instant proof of taste from a database we already maintain. Same Scout ladder, same ranks, same brand. Receipts is the top-of-funnel; /predict is the conversion. Both feed the existing five-email welcome sequence.

How is the Scout Score computed?

For each starred repo that matches a validated win, points = weight × min(months_early / 24, 1.0). Weight scales with the event: Series A = 50, Series B = 70, Series C+ or acquisition = 80-90, $1B+ valuation = 100. Twenty-four months early is a perfect multiplier, past that we cap because you cannot get more credit for being twenty years early. We dedupe to one win per company (you do not get points for starring three Vercel repos), then sum the top 5 and normalize so five perfect early calls equals 100. Scoring code is open-source at the route handler in the pseo-site repo.

Does Receipts read my private repos?

No. The GitHub API endpoint we hit (`GET /users/:username/starred`) only returns public starring data. We never see private repos, DMs, your follower graph, your contributions, your forks, or anything that requires user-scoped OAuth. The token we use server-side is a fine-grained PAT with no scopes, it exists only to raise our shared rate limit from 60 requests per hour to 5,000. Receipts works on any public GitHub username without that user's involvement.

Why these 75 wins specifically?

The list is biased toward developer-tools, AI infrastructure, and data/ops companies that have public GitHub presence and a clear validation event in the last five years (Vercel, Anthropic, LangChain, Hugging Face, Supabase, Linear, Cursor, Bun, Astro, OpenAI, Mistral, Modal, Pinecone, Stripe, Grafana, dbt, Airbyte, etc.). Closed-source unicorns without public repos cannot be in the database. The list will grow, every funded GitHub-native company is a candidate. If a company you think should be here is missing, the receipt fails to register a win and your score is lower than reality. That is a known false-negative.

Series: Operator Notes

More articles in this series

First-hand notes from running the dataset, building a longitudinal panel of 350++ startup GitHub orgs, MCP server lessons, and other operator-side observations.

Related Sector Rankings

Related reading

Five breakout startups, every Sunday, before the round gets crowded

The free Acceleration Watch: five venture-backed teams accelerating on the engineering signal, translated into plain English, 21 to 47 days before the deck circulates. No code-reading, no card.

Signed The Data Nerd · pseudonymous narrator · methodology over personality

🚀 Explore Our Network

21-47 days
Signal Lead Time (median 31d)
$80M+
Rounds Tracked
90 sec
Per Scan
5,000+
Founders Tracked

One missed signal is a missed round. Get the Velocity Verdict in your inbox every Sunday free.

Get Free Signals

Free weekly digest. Cancel anytime. No spam, no VC pitches just data.