GitHub Leads

Find potential customers from GitHub activity. Monitor your org's repos for stars, forks, issues, and PRs — then use AI to qualify leads automatically.

image.png

What this does

  1. A cron job monitors public activity on your GitHub org
  2. When someone stars, forks, or opens an issue/PR, they're captured
  3. An AI agent researches the person and scores them as a lead
  4. Qualified leads appear in your dashboard with periodic digest emails

Getting started

  1. Click Remix
  2. Add environment variables:
    • OPENAI_API_KEY — for AI lead qualification
    • GITHUB_TOKEN — for accessing GitHub API (create one here)
  3. Configure your settings:
  4. Open main.ts to view your dashboard

Note: GitHub's Events API only returns the 300 most recent events per org.

How it works

GitHub Monitoring (github.cron.ts)

  • Runs hourly to check for new activity on your org
  • Captures stars, forks, issues, PRs, and other public events
  • Groups events by user to avoid duplicate leads

AI Agent (agent.ts)

  • Researches each GitHub user's profile, repos, and linked sites
  • Uses web search to learn about their company and role
  • Scores them against your ICP defined in PROMPT.txt
  • Returns {name, match, score, leadTypes, reasoning}

Storage (db.ts)

  • Every lead is stored in SQLite with columns:
    • id — auto-incremented
    • timestamp — when first seen
    • input_data — the GitHub event(s) that triggered it
    • output_data — AI result

Dashboard (main.ts)

  • Qualified leads (match=true) appear at the top
  • Shows score and lead type tags (customer/hire)
  • Click a lead to see full details and GitHub activity

Email Digest (digest.ts)

  • Sends daily emails (1pm UTC) with new qualified leads
  • Edit RECIPIENTS array to configure who receives them

Customization

  • Edit PROMPT.txt to define your ideal customer profile
  • Adjust the GitHub sweep frequency in github.cron.ts interval settings (default: hourly)
  • Adjust the email digest schedule in digest.ts interval settings (default: daily at 1pm UTC)

Testing

Use the test bar in the dashboard to evaluate any GitHub username instantly.