GitHub Hires for Rogo

Find engineering candidates from GitHub activity. Monitor repos relevant to AI, finance, and our tech stack — then use AI to qualify candidates automatically.

image.png

What this does

  1. A cron job monitors public activity on curated GitHub repositories
  2. When someone creates PRs, issues, or meaningful contributions, they're captured
  3. An AI agent researches the person and scores them against our open engineering roles
  4. Qualified candidates appear in your dashboard with periodic digest emails

Watched Repositories

We monitor repos relevant to Rogo's engineering roles:

AI/ML & LLM (AI Researcher, Backend):

  • langchain-ai/langchain, run-llama/llama_index, huggingface/transformers
  • vllm-project/vllm, anthropics/anthropic-cookbook, openai/openai-python

Backend/Infrastructure (Backend, Cloud Architect):

  • tiangolo/fastapi, encode/starlette, redis/redis

iOS (Lead iOS Engineer):

  • pointfreeco/swift-composable-architecture, Alamofire/Alamofire, ReactiveX/RxSwift

Security (Security Engineers):

  • prowler-cloud/prowler, aquasecurity/trivy

Full-Stack (Full-Stack, Forward Deployed):

  • vercel/next.js, facebook/react, vuejs/core, prisma/prisma

Finance-Specific (strong signal):

  • microsoft/qlib, stefan-jansen/machine-learning-for-trading

Open Engineering Roles

This template evaluates candidates for:

  • AI Researcher (San Francisco)
  • Lead iOS Engineer (NYC)
  • Staff Software Engineer: Full-Stack (NYC)
  • Senior Software Engineer: Backend (NYC)
  • Staff Software Engineer: Backend (SF)
  • Cloud Solutions Architect (NYC/London)
  • Forward Deployed Engineer (NYC)
  • Entry-Level Engineer (NYC)
  • Security Engineer, Product Security (NYC)
  • Security Engineer, Enterprise (NYC)
  • Cloud Security Engineer (NYC)

Getting started

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

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

How it works

GitHub Monitoring (github.cron.ts)

  • Runs hourly to check for new activity across watched repositories
  • Captures PRs, issues, pushes, and code reviews (not just stars)
  • Groups events by user to avoid duplicate candidates
  • Tags events with source repo for context

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 Rogo's criteria in PROMPT.txt
  • Returns {name, leadTypes, company, 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
  • 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 update role requirements as positions change
  • Add/remove repositories in github.cron.ts
  • Adjust the GitHub sweep frequency in interval settings (default: hourly)
  • Adjust the email digest schedule in digest.ts interval settings

Testing

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