Skip to content
Back to Projects

AMC/IMG Job Intelligence

AMC Nexus

Local intelligent AMC/IMG doctor job automation and candidate-aware scoring platform for Australian medical roles.

AMC Nexus is a local-first healthcare recruitment intelligence platform built for Australian AMC/IMG doctor job discovery, extraction, scoring, review, and application preparation. It identifies medical roles from Australian health recruitment sources, extracts structured job data, evaluates suitability against a candidate profile, and supports review, automation, and notifications.

Status

Private repository

Type

Healthcare automation

Adaptive multi-layer job extraction pipeline

Candidate-aware medical role scoring

Review queue for low-confidence or blocked extractions

Drift alerts and extraction health monitoring

Scheduled workflows and queue-ready execution tasks

JWT authentication with role-based access control

Overview

AMC Nexus is a local-first healthcare recruitment intelligence platform built for Australian AMC/IMG doctor job discovery, extraction, scoring, review, and application preparation. It identifies medical roles from Australian health recruitment sources, extracts structured job data, evaluates suitability against a candidate profile, and supports review, automation, and notifications.

The platform reduces manual job searching and improves decision quality for medical candidates navigating AMC, AHPRA, IMG, supervision, hospital, rural, and visa-sensitive pathways. Its engineering philosophy is reliability-first automation using site detection, adapters, metadata extraction, semantic fallback, validation, confidence scoring, drift monitoring, and human review.

Purpose, Problem -> Solution

Problem

Medical job listings are spread across many Australian portals

Solution

Source discovery and manual-link ingestion collect job opportunities into one platform.

Problem

Job pages change layout and break scrapers

Solution

Adaptive extraction pipeline using site detection, adapters, metadata extraction, semantic fallback, AI-assisted recovery, validation, confidence scoring, and review queue.

Problem

Fixed CSS selectors are fragile

Solution

Semantic extraction looks for field patterns such as Position Title, Job Title, Classification, Salary, Location, and Closing Date.

Problem

Some pages include hidden structured metadata

Solution

Structured metadata extraction reads JSON-LD, embedded metadata, structured page data, and application state objects.

Problem

Low-confidence extraction can pollute decisions

Solution

Confidence scoring routes high-confidence records to auto-approval, medium-confidence records to repair, and low-confidence records to human review.

Problem

Recruitment sites may block automated fetching

Solution

Blocked or robots-related jobs are moved into manual review with safe display fallbacks.

Problem

Candidate suitability is not obvious from a job title alone

Solution

Candidate-aware scoring evaluates direct fit, eligibility blockers, hidden opportunities, red flags, and recommended action.

Problem

AMC/IMG candidates need pathway-sensitive filtering

Solution

Analyzer detects AHPRA, AMC, IMG, supervision, WBA, hospital, rural, and shortage-area signals.

Problem

Manual review needs structure

Solution

Review queue stores reason, severity, status, source, adapter, confidence, missing fields, red flags, assignment, and reviewer notes.

Problem

Extraction failures need monitoring

Solution

Extraction logs, diagnostics, drift alerts, and golden tests track reliability.

Problem

Workflows should not rely only on synchronous requests

Solution

Execution tasks support status, priority, payloads, retries, leases, idempotency keys, dead-letter state, and worker tracking.

Problem

Admins need operational visibility

Solution

Frontend includes Dashboard, Analytics, Drift Alerts, Extraction Health, Extraction Queue, Golden Tests, Jobs, Review Queue, Workflows, Notifications, Candidate, and Settings.

Key Features

Authentication

  • User registration
  • Login
  • Current-user endpoint
  • Bearer-token authentication
  • JWT access token creation
  • Expiry-based session handling
  • Frontend session expiry redirects users to login

Authorization

  • Roles: admin, reviewer, operator, readonly
  • Superuser resolves as admin
  • Route protection through role dependencies
  • Inactive users are blocked

Jobs

  • Manual job link ingestion
  • Job listing and filtering
  • Job detail endpoint
  • Candidate opportunity summary
  • Job status update
  • Application folder creation
  • Job reprocessing
  • Manual correction
  • Reanalysis
  • Resume generation
  • Enhanced fit analysis

Discovery

  • Run discovery across enabled sources
  • List discovered links
  • Process discovered link
  • Batch process discovered links
  • Queue-compatible discovery execution

Candidate

  • Candidate profile model with target roles, states, specialties, experience, visa status, AHPRA status, AMC status, skills, certifications, references, rural interests, strengths, limitations, and notes

Candidate-Aware Scoring

  • Match score
  • Direct fit score
  • Eligibility blocker score
  • Hidden opportunity score
  • Recommended action
  • Match reason
  • Red flags
  • Hidden possibilities

Extraction

  • Site detection
  • Site-specific adapters
  • Metadata extraction
  • Semantic fallback
  • AI-assisted recovery as resilience layer
  • Confidence scoring
  • Human review queue
  • Drift detection
  • Golden test framework
  • Semi-self-healing strategy

Review Queue

  • Low-confidence or risky extractions routed for human review
  • Reviewers validate fields, correct missing information, approve records, and provide feedback

Monitoring

  • Extraction logs
  • Extraction diagnostics
  • Adapter drift alerts
  • Golden extraction tests
  • Frontend pages for extraction health, extraction queue, drift alerts, and golden tests

Workflows and Automation

  • Scheduled jobs
  • Workflow run history
  • Run workflow now
  • Retry failed workflows
  • Queue-compatible workflow execution
  • Worker registration and heartbeats

Notifications

  • Notification type and severity
  • Related job, review item, or drift alert
  • Delivery channel
  • Delivery status
  • Delivery attempts
  • Recipient
  • Payload
  • Delivered, failed, and error tracking

Frontend Operations Console

  • Sidebar navigation
  • Protected app layout
  • Top status bar
  • Dashboard, analytics, jobs, candidate, workflows, review, notifications, and settings sections

System Architecture

Frontend

React 19, Vite, TypeScript, Tailwind CSS, React Router, Lucide icons. Authenticated operations console with protected routes.

Backend

FastAPI app with versioned API routes under /api/v1. Routers for auth, jobs, candidate profiles, candidates, discovery, scheduler, scheduled jobs, workflows, workers, review queue, operations, notifications, dead-letter, execution tasks, sources, and system APIs.

Database

SQLAlchemy with PostgreSQL. JSONB used across jobs, candidates, diagnostics, tasks, notifications, and scheduled jobs.

AI and Extraction

Deterministic adapters, structured metadata extraction, semantic fallback, AI-assisted recovery, validation, confidence scoring, drift detection, human review.

Automation

Scheduled jobs, workflow runs, execution tasks, and workers. Execution tasks support retries, max attempts, leases, idempotency keys, replay counts, dead-letter information, and worker ownership.

Background Workers

Workers track name, type, hostname, process ID, version, status, capabilities, current task, completed count, failed count, start time, heartbeat, and stopped time.

Storage

Application folder creation per job.

Authentication

JWT access tokens signed with HS256, PBKDF2-SHA256 password hashing, email normalization, token expiry, bearer authentication, and role checks.

Deployment

Local-first development behavior. Backend CORS allows Vite dev origins. FastAPI backend is local-only.

Third-party integrations

Australian job sites and recruitment engines through allowed hosts and source toggles, including WA, QLD, NSW, NT, SA, VIC, TAS health sources, SEEK, Indeed, PageUp, Workday, Taleo, and hospital career portals.

Workflow

101

User Login

202

Operations Console

303

Manual Job Link or Discovery Run

404

URL Validation and Normalization

505

Source Detection

606

Adapter Selection

707

HTTP Fetch

808

Browser Render Fallback if enabled

909

Structured Metadata Extraction

1010

Semantic Field Extraction

1111

Parser and Reliability Validation

1212

Confidence Scoring

1313

Candidate-Aware Analysis

1414

Match Score and Recommended Action

1515

Save Job and Diagnostics

1616

High confidence becomes processed job, low confidence/blocked/mismatch goes to Review Queue

1717

Reviewer Correction if needed

1818

Reanalysis

1919

Candidate Summary/Fit Analysis/Resume Generation

2020

Notifications and Workflow History

Technology Stack

Frontend

React 19React DOMReact Router DOM

Build Tool

Vite

Language

TypeScriptPython

Styling

Tailwind CSSPostCSSAutoprefixer

Icons

Lucide React

Backend

FastAPIStarletteUvicorn

Database

SQLAlchemyPostgreSQLpsycopg2-binary

Migrations

Alembic

Validation

PydanticPydantic Settings

Parsing

BeautifulSoup4lxml

Browser Automation

Playwright

Scheduling

APScheduler

Testing

Pytest

Config

python-dotenvenvironment variables

Security

JWT HS256PBKDF2-SHA256bearer authRBACrate limitingURL allow-list policyredaction

Queue/Workers

ExecutionTaskExecutionWorkerqueue-compatible services

Notifications

SMTP-configurable notification settings

Engineering Highlights

Modular FastAPI route architecture grouped by domain

Protected frontend routes through RequireAuth

Central API client with timeout, bearer token resolution, expired JWT detection, auth-expired event dispatch, and structured API errors

Role-based access control

SQLAlchemy models with PostgreSQL JSONB

Adaptive extraction instead of brittle one-parser scraping

Engine adapter registry

Playwright fallback

Semantic mismatch and contamination safeguards

Manual review fallback for protected PageUp, Taleo, Workday, MedCareersWA, robots-blocked, or low-confidence cases

Extraction diagnostics persisted for observability

Queue-compatible job ingestion, discovery, and workflow execution

Idempotency keys

Worker heartbeat and task ownership model

Scheduler-backed workflow system

Rate limits and concurrency guards

Safe logging and redaction

Security

JWT access tokens

Bearer token validation

Token expiry

PBKDF2-SHA256 password hashing with 390,000 iterations

Random salt

hmac.compare_digest

Roles: admin, reviewer, operator, readonly

Superuser resolves to admin

Inactive users blocked

Pydantic validation

URL policy checks

Unknown hosts disabled by default

Rate limits for auth, ingestion, discovery, workflows, scheduler, review, candidate mutation, reads

Playwright, discovery, workflow, and manual ingestion concurrency limits

Global error handlers

Request validation handler

Safe HTTP error responses

Log redaction

JWT secret requirement

Application folder creation handled safely

AI & Automation

AI-assisted recovery when deterministic extraction cannot confidently populate required fields

Candidate-aware analysis for AMC, IMG, AHPRA, supervision, WBA, hospital, rural/regional, ICU, CCU, emergency, psychiatry, mental health, and general medicine signals

Enhanced fit analysis

Resume generation through ResumeOrchestrationService

Discovery automation

Scheduled jobs

Workflow automation

Worker automation

Notifications

Database Design

User

Job

Candidate Profile

Extraction Log

Extraction Diagnostics

Review Queue Item

Execution Task

Execution Worker

Notification

Adapter Drift Alert

Job Source

Scheduled Job

API Design

Auth

Jobs

Candidate Profile

Candidates

Discovery

Review Queue

Extraction Queue

Operations

Notifications

Scheduler

Scheduled Jobs

Workflows

Workers

Execution Tasks

Dead Letter

Sources

System

Screenshots Gallery

Login pageDashboardAnalyticsDrift AlertsExtraction HealthExtraction QueueGolden Extraction TestsJobsReview QueueWorkflowsNotificationsCandidateSettings

Architecture Diagram

Workflow Diagram

Challenges Solved

Challenge

External job sites change HTML/CSS

Solution

Multi-layer extraction pipeline

Challenge

Scrapers can return wrong/contaminated data

Solution

Semantic mismatch checks, contamination detection, confidence caps, manual review

Challenge

SPA-rendered pages

Solution

Playwright/browser fallback

Challenge

Protected structures

Solution

PageUp/Taleo/Workday/MedCareersWA safeguards

Challenge

Robots or blocked fetching

Solution

Manual-review status and safe fallbacks

Challenge

Duplicate processing

Solution

URL uniqueness and idempotency keys

Challenge

Long-running work blocking API

Solution

Queue-compatible tasks, workers, leases, retries, dead-letter

Challenge

Candidate fit complexity

Solution

Direct fit, blockers, hidden opportunity, red flags, recommended action

Challenge

Review traceability

Solution

Review queue metadata

Challenge

Failure detection

Solution

Drift alerts, logs, diagnostics, golden tests

Challenge

Sensitive logs

Solution

Redaction and safe errors

Challenge

Unauthorized access

Solution

JWT and RBAC

Performance & Scalability

No verified general-purpose caching

Redis config exists but not verified as app caching

ExecutionTask queue-ready model

Worker processing with heartbeat

Indexed database fields

Compound indexes for ready tasks and idempotency

Future horizontal scaling supported by worker/task model

Current local-first/local-only architecture

SaaS-grade reliability patterns but not yet confirmed as SaaS

API timeout

Backend request timeout

Rate limits

Concurrency limits

Batch discovery

Project Outcome

Business impact

AMC Nexus reduces the manual effort of finding and evaluating Australian medical jobs for AMC/IMG doctors. It turns scattered recruitment listings into structured candidate-aware opportunities with scoring, red flags, hidden possibilities, and recommended actions.

Engineering achievements

The project demonstrates a React operations console, FastAPI backend, PostgreSQL persistence, role-based authentication, adaptive extraction pipeline, candidate-aware scoring, review queue, drift monitoring, golden test validation concept, queue-ready execution model, scheduler and workflow automation, and notification tracking.

Technical maturity

AMC Nexus is more than a CRUD dashboard. It includes extraction reliability engineering, workflow orchestration, failure routing, diagnostics, human-in-the-loop review, and candidate-specific decision intelligence.

Expand supported job-source adaptersStrengthen golden test coverage per sourceImprove drift alert resolution workflowAdd more candidate scoring rulesImprove resume orchestration templatesHarden queue/worker deployment for productionAdd stronger observability around task duration, failure rates, and source healthConvert local-first architecture into SaaS-ready deployment only after authentication, tenant isolation, billing, and production security are explicitly implemented