Skip to content

Repository files navigation

ResumeX Sourcing Copilot

Turn a job description into a structured, reviewable sourcing project.
Generate role-specific searches, validate public results, enrich selected profiles, rank candidates, and export a recruiter-owned shortlist.

Open the live prototype · Run locally · Deployment notes

Next.js 16 TypeScript 69 tests passing at the time of this README update Prototype status

ResumeX Sourcing Copilot preview

Important

This repository is a sourcing prototype, not an autonomous hiring system. A recruiter remains responsible for search strategy, candidate relevance, fair evaluation, outreach, and compliance with each data source's terms.

Workflow

  1. Paste a job description and choose General, Engineering, or Legal sourcing mode.
  2. Parse the role into structured criteria.
  3. Generate Boolean and source-specific searches.
  4. Run selected searches through Serper and validate the returned URLs.
  5. Import or enrich selected public profiles.
  6. Apply ranking factors, recruiter notes, and statuses.
  7. Export a reviewed candidate set to CSV.

Projects are stored in the browser's localStorage; there is no shared account database in this repository.

What is implemented

  • Role-aware search generation for general, engineering, and legal sourcing
  • Search presets, selection controls, and request-cost estimates
  • Job-description parsing with an OpenAI-assisted route and a local fallback
  • Serper-backed discovery with URL/result validation
  • Manual candidate import and public-page enrichment
  • Candidate ranking factors, recruiter statuses, recommended actions, and export filters
  • Local project persistence and CSV export
  • Unit coverage for search generation, ranking, parsing, validation, import, cost, and export logic

Architecture

flowchart LR
  JD["Job description"] --> Parse["Criteria parser"]
  Parse --> Searches["Search generator"]
  Searches --> Serper["Serper API"]
  Serper --> Validate["Result validation"]
  Validate --> Review["Recruiter review"]
  Review --> Enrich["Optional public-page enrichment"]
  Enrich --> Rank["Ranking factors"]
  Rank --> CSV["CSV export"]
  Review <--> Local["Browser localStorage"]
Loading

Local setup

git clone https://github.com/VicenteBarrientos/resumex-sourcing-copilot.git
cd resumex-sourcing-copilot
npm install
cp .env.example .env.local
npm run dev

On Windows PowerShell, replace the copy command with:

Copy-Item .env.example .env.local

Configure the integrations you want to use:

SERPER_API_KEY="your_serper_api_key_here"
OPENAI_API_KEY="your_openai_api_key_here"

Open http://localhost:3000.

Commands

Command Purpose
npm run dev Start the development server.
npm test Run the TypeScript unit suite.
npm run lint Run ESLint.
npm run build Create a production build.
npm run start Serve a completed build.

Data handling

  • Job descriptions, saved projects, candidates, and recruiter notes are stored locally in the current browser.
  • Serper receives generated search queries when a search is executed.
  • OpenAI receives role or selected public-profile context only when the corresponding AI-assisted action is used.
  • Clearing the site's browser storage removes locally saved projects.

Do not paste confidential candidate information unless your deployment, vendor agreements, and privacy process permit it.

Responsible use and deployment

The UI does not send outreach or make hiring decisions. Optional enrichment does retrieve public pages selected by the user.

Before exposing a fork to untrusted traffic, add authentication, request quotas, durable rate limiting, and outbound-request protections that block private/internal network targets. Without those controls, public API routes can consume paid provider keys or be abused as an outbound fetch service.

Project structure

app/                 UI and API routes
components/          Shared interface components
lib/
  search-generator   Search strategy generation
  candidate-*        Validation, ranking and export
  jd-parse            Job-description criteria
  projects            Browser persistence
  *.test.ts           Unit tests

Related projects

About

Recruiter-owned sourcing prototype for JD parsing, search generation, public-result validation, candidate ranking, and CSV export.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages