AuraJobs is a modern, modular, agentic career intelligence platform that federates job listings across major boards, remote networks, and direct applicant tracking systems (ATS). Built with smart taxonomy expansion, multi-region budget scheduling, intelligent deduplication, and visa-sponsorship detection, AuraJobs delivers a single clean, high-signal CSV of verified career opportunities.
- Federated Multi-Source Discovery: Aggregates from LinkedIn, Indeed, Google Jobs, and Glassdoor via resilient adapters.
- Direct Company ATS Pipelines: Direct real-time endpoints for Ashby, Greenhouse, and Lever, fetching official open postings from top tech and AI pioneers (OpenAI, Anthropic, Stripe, Figma, Notion, Linear, etc.).
- Specialized Remote Networks: Built-in parallel scrapers for RemoteOK, Remotive, and Himalayas.
- Universal Role Taxonomy & Dynamic Expander:
- 9 Deep Presets: Product Design (UI/UX), Data Science & AI/ML, Frontend Engineering, Software Engineering, Product Management, Growth & Marketing, Operations & Strategy, People & HR, and Sales & BizDev.
- Dynamic Custom Mode: Handles any custom title with automated seniority parsing (
InternβPrincipal/VP) and conflict exclusions.
- Intelligent 3-Tier Geographic Rotation:
- India: 12 key tech metros (Bengaluru, Delhi-NCR, Mumbai, Pune, Hyderabad, Kochi, etc.).
- Middle East / GCC: 8 financial and tech hubs (Dubai, Abu Dhabi, Riyadh, Jeddah, Doha, etc.).
- Global / Remote: Worldwide remote pipelines.
- Smart Deduplication & Match Scoring: Merges identical postings across platforms using URL normalization, fuzzy title matching, and company tokens. Computes a 0β100 relevance score based on skill density and title seniority.
- Visa Sponsorship & Relocation AI: Scans job descriptions for H1B, global relocation, work authorization requirements, and sponsorship flags.
- Consolidated Output: Generates exactly one clean, structured CSV per search session (
AURAJOBS_{Role}_{Region}_{Timestamp}.csv).
ββββββββββββββββββββββββββββ
β AuraJobs CLI / Prompt β
ββββββββββββββ¬ββββββββββββββ
β
ββββββββββββββΌββββββββββββββ
β RoleExpander β
β (Seniority + Taxonomies) β
ββββββββββββββ¬ββββββββββββββ
β
βββββββββββββββββββββ΄ββββββββββββββββββββ
β BalancedScheduler β
β (India, Middle East, Global) β
βββββββββββββββββββββ¬ββββββββββββββββββββ
β
ββββββββββββββββββββββββββ¬ββββββββββββ΄βββββββββββββ¬βββββββββββββββββββββββββ
β β β β
ββββββββΌβββββββ ββββββββΌβββββββ ββββββββΌβββββββ ββββββββΌβββββββ
β Multi-Board β β Direct ATS β β RemoteOK β β Himalayas β
β (LinkedIn, β β (Ashby, β β & Remotive β β API Engine β
β Indeed, β β Greenhouse, β β (Remote) β β (Remote) β
β Google) β β Lever) β β β β β
ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ
β β β β
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββ΄βββββββββββββββββββββββββ
β
βββββββββββββΌββββββββββββ
β Normalizer & Cleaner β
βββββββββββββ¬ββββββββββββ
β
βββββββββββββΌββββββββββββ
β Role Filter & Scorer β
β (Match Score 0-100) β
βββββββββββββ¬ββββββββββββ
β
βββββββββββββΌββββββββββββ
β Deduplication Engine β
βββββββββββββ¬ββββββββββββ
β
βββββββββββββΌββββββββββββ
β OutputExporter (.CSV) β
βββββββββββββββββββββββββ
- Python 3.10 or higher
- Git
# Clone the repository
git clone https://github.com/lordpardonme/AuraJobs.git
cd AuraJobs
# Install dependencies
pip install -r requirements.txt- Interactive Launcher: Double-click
run_aurajobs.bat - Balanced 3-Region Runner: Double-click
run_aurajobs_balanced.bat
Launch AuraJobs with interactive prompting:
python main.pyOr pass direct flags for automated/headless execution:
# Search for Senior Data Scientists across all regions in Express mode
python main.py --role "Data Scientist" --seniority Senior --geo All --mode Express --freshness 48
# Search for Product Designers in India in Deep Scan mode
python main.py --role "Product Designer" --geo India --mode Deep --freshness 72
# Search for remote Software Engineers globally
python main.py --role "Software Engineer" --geo Global --freshness 24 --non-interactive| Flag | Options | Default | Description |
|---|---|---|---|
--role |
Text (e.g. Product Manager) |
Product Designer |
Target job family |
--seniority |
Any, Intern, Junior, Mid, Senior, Staff, Lead, Principal |
Any |
Seniority filter |
--geo |
All, India, Middle East, Global |
All |
Regional scope |
--freshness |
Hours (e.g. 24, 48, 72) |
72 |
Max posting age |
--mode |
Express (~1 min) or Deep (~10 mins) |
Express |
Execution intensity |
--max-searches |
Integer | Config default | Hard cap on queries |
--max-runtime |
Minutes | Config default | Hard cap on execution time |
--non-interactive |
Flag | False |
Run without prompts |
AuraJobs/
βββ config/
β βββ companies.yaml # Curated companies with direct ATS pipelines
β βββ locations.yaml # City & country mappings (India, ME, Global)
β βββ roles.yaml # Deep role taxonomy & skill dictionaries
β βββ settings.yaml # Rate limits, search caps, and runtime configs
β βββ sources.yaml # Adapter toggles & site endpoints
βββ core/
β βββ checkpoint.py # Safe search state resumption
β βββ classifier.py # Title and keyword filtering
β βββ deduper.py # Cross-platform URL & fuzzy deduplication
β βββ expander.py # Dynamic seniority & taxonomy expander
β βββ exporters.py # Consolidated CSV output generator
β βββ normalizer.py # Canonical 27-column data schema
β βββ prompt.py # Terminal interactive UI launcher
β βββ scheduler.py # Balanced multi-region budget scheduler
β βββ scorer.py # 0-100 relevance and match scoring
β βββ visa.py # Visa sponsorship & relocation detector
βββ sources/
β βββ ats_adapter.py # Ashby, Greenhouse & Lever direct API adapters
β βββ himalayas_adapter.py # Himalayas remote jobs adapter
β βββ multiboard_adapter.py# Multi-board scraper (LinkedIn, Indeed, Google)
β βββ remoteok_adapter.py # RemoteOK API adapter
β βββ remotive_adapter.py # Remotive API adapter
βββ main.py # Primary entry point & CLI pipeline
βββ requirements.txt # Package dependencies
βββ pyproject.toml # Packaging metadata
βββ run_aurajobs.bat # 1-click Windows runner
AuraJobs is entirely data-driven via YAML configuration in config/:
- Add New Roles & Skills: Edit
config/roles.yamlto customize presets or add negative exclusions. - Add Direct Company ATS: Edit
config/companies.yamlto track hiring directly from company boards. - Expand Target Locations: Edit
config/locations.yamlto add new cities, countries, or regional groupings.
AuraJobs is designed to operate responsibly:
- Direct APIs (Ashby, Greenhouse, Himalayas, RemoteOK, Remotive) are preferred wherever available.
- Scrapers enforce rate-limiting (
request_delay_seconds) to prevent server overload. - For more information on ethical usage, see
LEGAL_AND_ETHICAL_COMPLIANCE_GUIDE.md.
Contributions, bug reports, and feature requests are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- lordpardonme (@lordpardonme)