Skip to content

abalinda/JobOps-GenAI-

Repository files navigation

JobOps Mission Control

A high-performance, "Mission Control" style dashboard for automating job applications using Vite, React, and Playwright.

⚠️ DISCLAIMER: This application performs automated browser interactions. Use responsibly and ensure you comply with the Terms of Service of any website you target.

🚀 Quick Start (Real Automation)

1. Prerequisites

  • Node.js 18+ installed.

2. Install Dependencies

npm install

3. Install Playwright Browsers (Crucial)

You must download the browser binaries for the automation to work.

npx playwright install

4. Launch the Application

You need to run both the frontend and backend:

Terminal 1 - Start Frontend (Vite):

npm run dev

Open http://localhost:3001 in your browser (or the port shown in the terminal).

Terminal 2 - Start Backend (Express):

npm run backend

The backend API will run on http://localhost:3002.

5. Usage

  1. Upload CV: Upload a text or markdown version of your CV.
  2. Optimize (Optional): If you have an API Key configured, click "Optimize with Gemini 2.5" to generate better search terms.
  3. Search: Enter your desired Job Titles manually if not optimizing.
  4. Initiate: Click "INITIATE SEQUENCE".
  5. Watch: A Chrome window will open. The dashboard will stream logs and results in real-time.
  6. Results: Found job links are saved to the /results folder in your project directory as .txt files.

🔑 API Configuration (Gemini AI)

To use the CV Optimization feature, you need a Google Gemini API Key.

  1. Get a key from Google AI Studio.
  2. Create a file named .env.local in the root of the project.
  3. Add your key:
    GEMINI_API_KEY=your_actual_api_key_here
    
  4. Restart both servers (npm run dev and npm run backend).

Note: The automation agent works fully without an API key; you just won't get the AI-powered search term suggestions.


📂 Project Architecture

  • server.js: Express backend API that spawns the automation agent and streams logs to the frontend.
  • automation/worker.ts: The Playwright logic that controls the browser and saves job results to disk.
  • App.tsx: The frontend dashboard built with React. Consumes the stream and visualizes data in real-time.
  • services/simulationService.ts: Handles communication between frontend and backend via fetch API.
  • services/geminiService.ts: Integrates with Google's Gemini AI for CV optimization.
  • results/: Directory where job listings are automatically saved as .txt files.

🛠️ Tech Stack

  • Frontend: React + Vite + Tailwind CSS
  • Backend: Express.js with Server-Sent Events (SSE)
  • Automation: Playwright for browser automation
  • AI: Google Gemini 2.5 for CV analysis and job title optimization

About

Automatic job application engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors