Skip to main content
Version: 0.1.20

Manual Import Extractor

Manual import lets users add jobs that automated scrapers miss.

Big picture

User pastes raw description, AI infers structure, user reviews edits, then import saves and scores the job.

1) Input

User pastes a job description in the Manual Import UI.

2) AI inference

Endpoint:

  • POST /api/manual-jobs/infer

Service:

  • orchestrator/src/server/services/manualJob.ts

Behavior:

  • Sends raw text to configured LLM
  • Extracts structured fields (title, employer, location, salary, etc.)
  • Returns inferred JSON for user review

If no LLM key is configured, inference is skipped and user can fill fields manually.

3) Review and edit

User reviews inferred fields and corrects missing/wrong values.

4) Storage and scoring

Import endpoint:

  • POST /api/manual-jobs/import

On import:

  • Generates unique job ID if URL absent
  • Stores source as manual
  • Triggers async suitability scoring
  • Persists score and reason