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
User Login
Operations Console
Manual Job Link or Discovery Run
URL Validation and Normalization
Source Detection
Adapter Selection
HTTP Fetch
Browser Render Fallback if enabled
Structured Metadata Extraction
Semantic Field Extraction
Parser and Reliability Validation
Confidence Scoring
Candidate-Aware Analysis
Match Score and Recommended Action
Save Job and Diagnostics
High confidence becomes processed job, low confidence/blocked/mismatch goes to Review Queue
Reviewer Correction if needed
Reanalysis
Candidate Summary/Fit Analysis/Resume Generation
Notifications and Workflow History
Technology Stack
Frontend
Build Tool
Language
Styling
Icons
Backend
Database
Migrations
Validation
Parsing
Browser Automation
Scheduling
Testing
Config
Security
Queue/Workers
Notifications
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
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.