Search_Apply is a high-performance, multi-user AI job application engine and directory aggregator. It automatically collects technology company career portals (Y Combinator, Startupbootcamp, Banking, Insurance, Telecom, Cloud Giants), matches job openings against user resumes with 7-day recency filters, excludes current employers for safety, and auto-fills application forms via Playwright browser automation with screenshot proofs.
| Component | Description & Visual Styling |
|---|---|
| Top Navigation Header | ⚡ Search_Apply IDE EDITION banner with real-time stats (Portals: 44, Openings (7d): 377, Applied: 3), Theme Switcher (🚀 Antigravity IDE, 💡 IntelliJ IDEA, ☀️ Happy Vibrant, 🌲 Nord), and User Session status (👤 Shahid Khan). |
| Candidate Profile Sidebar | Displays Candidate Resume details (Shahid Khan, 9.0 Years), extracted Skills (Java, Spring Boot, Microservices, Kubernetes, AWS, Azure, React), File Upload button, and Current Employer Protection Badge (🛑 Wells Fargo (Excluded)). |
| Main Openings Grid | 7-day recent postings list with real-time search, ATS detection tags (greenhouse, lever, ashby), match scores (100% Match), status badges (⚡ < 7 Days, ✅ Applied), and one-click 🚀 Auto-Apply buttons. |
| Action Toolbar | One-click 🔄 Sync Portals & Add Companies discovery button, ⚡ Auto Apply to Recent Jobs automation button, status filter tabs (Recent Positions, Discovered, ✅ Applied Category), Time Range selector (Past 7 Days), and Page Size controls. |
| Full-Page Loader Modal | Glassmorphic overlay blocking UI interactions during active operations with animated progress bar (0% -> 100%) and live countdown timer (⏳ 10s left). |
- 44+ Pre-Configured Portals: Pre-populated across Banking (Wells Fargo, JPMorgan Chase, Goldman Sachs, Morgan Stanley, Capital One, Barclays, Citigroup), Insurance (UnitedHealth, Prudential, MetLife, Progressive, Liberty Mutual), Telecom (Verizon, AT&T, T-Mobile, Cisco, Vodafone, Ericsson), and Cloud Giants (Microsoft, Salesforce, Oracle, ServiceNow, IBM, SAP).
- Y Combinator & Startupbootcamp Directory Scrapers: Scrapes Y Combinator company directory (Algolia index integration with HTML fallback) and international portfolio accelerators.
- 🔄 Sync Portals & Auto-Discovery Engine: One-click portal sync that automatically discovers new companies, adds them to the SQLite database, and saves them to
data/companies_config.json.
- Resume Extraction: Automatically parses candidate work experience and detects current employment (e.g.
Wells Fargo). - SQL Query Exclusion: Automatically excludes all openings from the user's current employer (
AND c.name NOT LIKE '%Wells Fargo%'). - Privacy Safety: Ensures candidate job searches remain 100% private and protects candidates from accidentally applying to their current workplace during bulk auto-applies.
- Session Authentication: Secure user registration, SHA-256 password hashing, and cookie session management.
- PDF / DOCX Resume Upload: Parses PDF and DOCX resume files using
pypdfandpython-docxinto structured candidate profiles (18+ technical skills, years of experience, contact details, current company). - AI Relevance Scoring: TF-IDF and skill overlap matcher scoring job relevance (0%–100%).
- Strict Recency Default: Dashboard displays only recent job postings (posted within the past 7 days) (
created_at >= datetime('now', '-7 days')). - Toolbar Selector: Allows switching between
Past 7 Days (Recent),Past 14 Days,Past 30 Days, andAll Time. - Recency Badges: Each role features a vibrant
⚡ < 7 Dayspill badge.
- Location-Wise Filter: Search openings by exact or partial location (e.g.
Remote,San Francisco,New York,India). - Title-Wise Filter: Filter openings by role title (e.g.
Senior Backend,Full Stack,Data Engineer). - Multiple Skills Tagging: Interactive multi-skill tag filter allowing users to add/remove skill pills (
Python,React,AWS,Java,Kubernetes) withMatch ALL(AND) orMatch ANY(OR) matching modes. - Popular Skill Quick Chips: Instant click-to-add shortcuts for top tech stack skills.
- Asynchronous Execution: Decouples heavy Playwright browser form auto-applies and web scrapers out of
app.pyHTTP threads into dedicated Celery background workers (tasks.py). - Worker Process Launcher: Includes
./run_worker.shto start background task workers listening to Redis queue (redis://localhost:6379/0). - Real-Time Task Polling:
GET /api/tasks/{task_id}tracking status (PENDING,STARTED,SUCCESS). - Graceful Fallback: Automatically falls back to synchronous execution if Redis is inactive locally.
- IDE Themes: Switch between 🚀 Antigravity IDE (Dark), 💡 IntelliJ IDEA (Darcula), ☀️ Happy Vibrant, and 🌲 Nord Cyberpunk.
- Interactive Header Theme Picker: Saves theme preferences in
localStorage. - Full-Page Loader Overlay: Full viewport modal overlay with countdown timer (
⏳ 10s left) and animated progress bar (0% -> 100%) that locks UI interactions during long-running tasks.
- Python 3.10+
- Node.js & Playwright Chromium
- Redis Server (Optional for background Celery worker tasks)
# Clone the repository
git clone https://github.com/TechyShahid/Search_Apply.git
cd Search_Apply
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies (including Celery & Redis)
pip install -r requirements.txt
# Install Playwright Chromium binaries
playwright install chromium./run_app.shOpen your browser to: http://localhost:8088
# Terminal 1: Start Redis broker (optional)
redis-server
# Terminal 2: Start Celery background worker process
./run_worker.sh
# Terminal 3: Start FastAPI web server
./run_app.shSearch_Apply comes with a rich terminal CLI with multi-dimensional job filtering:
# Parse resume and print candidate profile
./venv/bin/python cli.py parse-resume Resume-Shahid-9Years.pdf
# List configured company portals
./venv/bin/python cli.py list-companies
# Add a custom company portal
./venv/bin/python cli.py add-company "Custom Tech" "https://customtech.io" "https://customtech.io/careers" --ats greenhouse
# Discover jobs across all portals
./venv/bin/python cli.py find-jobs
# List matching jobs with Location, Title, and Multi-Skill filters
./venv/bin/python cli.py list-jobs --location "Remote" --title "Engineer" --skills "Python,React"
# Auto-apply to a specific job ID
./venv/bin/python cli.py apply --job-id 1
# Run full end-to-end automated pipeline
./venv/bin/python cli.py run-allSearch_Apply is designed to scale from a single-user engine up to 1,000,000 Users:
| Scale | Daily Active Users | Infrastructure Stack | Monthly Cost Range |
|---|---|---|---|
| Starter / Dev | 1 – 1,000 | Single VPS / Render + SQLite / Redis | Free – $25 / mo |
| Medium Scale | 100,000 Users (~10k DAU) | 2x Web Nodes (t4g.medium), 2x Celery Workers (c6g.large), RDS PostgreSQL (db.t4g.medium), Redis, S3 Storage |
$215 – $425 / mo |
| Enterprise Scale | 1,000,000 Users (~100k DAU) | 4-8x Web Nodes (c6i.xlarge), 8-15x Playwright Workers (c6i.2xlarge), AWS Aurora PostgreSQL, Redis Cluster, S3 + Cloudflare |
$1,520 – $3,250 / mo |
[ User Clicks "Auto-Apply" in Web UI ]
│
▼
[ FastAPI Server (app.py) ] ── (Lightweight Task Message) ──► [ Redis Queue ]
│ │
(Returns HTTP 202 Instant Response) │
│ ▼
└─────────────────────────► [ Celery Worker (run_worker.sh) ]
│
(Executes Playwright Browser
Application in Background)
Search_Apply/
├── app.py # FastAPI web server, REST API endpoints, and Web Dashboard
├── cli.py # Terminal CLI interface built with Rich graphics
├── tasks.py # Celery asynchronous background worker task definitions
├── config.py # Configuration paths & company JSON loader/saver
├── requirements.txt # Python dependencies (FastAPI, Playwright, Celery, Redis)
├── run_app.sh # Executable Web App launcher script
├── run_worker.sh # Executable Celery Background Worker launcher script
├── data/
│ ├── companies_config.json # 44+ pre-configured company career URLs
│ ├── resume.json # Parsed candidate profile JSON
│ ├── search_apply.db # SQLite database (users, companies, jobs, applications)
│ └── screenshots/ # Proof screenshots of auto-filled job applications
├── demo/
│ ├── DEMO.md # Complete Git Demo walkthrough guide
│ └── dashboard_preview.png # Real web application interface preview
├── engine/
│ ├── applier.py # Playwright browser form auto-filler
│ ├── career_finder.py # ATS detection & career page discovery
│ ├── job_matcher.py # TF-IDF & skill relevance matcher
│ └── resume_parser.py # PDF/DOCX/JSON resume parser with current company detection
├── scrapers/
│ ├── base_scraper.py # Abstract base scraper class
│ ├── config_scraper.py # ConfigDirectoryScraper for JSON portals
│ ├── startupbootcamp.py # Startupbootcamp directory scraper
│ └── ycombinator.py # Y Combinator directory scraper
└── storage/
└── db.py # SQLite database access layer & migrations
- Author: Shahid Khan (GitHub: TechyShahid, LinkedIn: Shahid039)
- License: MIT License
