• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
project logo

templates

github-hires

Find new hires from GitHub activity
Remix of templates/github-leads
Public
Like
1
github-hires
Home
Code
9
PROMPT.txt
README.md
agent.ts
dashboard.tsx
db.ts
C
digest.ts
C
github.cron.ts
H
main.ts
welcome-ui.tsx
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
…
Viewing readonly version of main branch: v7
View latest version
README.md

GitHub Hires

Find engineering candidates from GitHub activity. Monitor repos for stars, forks, issues, and PRs — then use AI to qualify candidates 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 candidate
  4. Qualified candidates appear in your dashboard with periodic digest emails

Getting started

  1. Click Remix
  2. Add environment variables:
    • OPENAI_API_KEY — for AI candidate qualification
    • GITHUB_TOKEN — for accessing GitHub API (create one here)
  3. Configure your settings:
    • Edit GITHUB_ORG in github.cron.ts
    • Edit RECIPIENTS in digest.ts
    • Customize PROMPT.txt with your role requirements
  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 candidates

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 criteria in PROMPT.txt
  • Returns {name, role, match, score, reasoning}

Storage (db.ts)

  • Every candidate 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 candidates (match=true) appear at the top
  • Shows score and role tags (product/growth)
  • Click a candidate to see full details and GitHub activity

Email Digest (digest.ts)

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

Customization

  • Edit PROMPT.txt to define your role requirements and ideal candidate 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.

FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.