jobber

jobber

browser controlling AI agent that applies to relavant jobs on internet autonomously. join chat @ https://discord.gg/umgnyQU2K8

Stars: 169

Visit
 screenshot

Jobber is an AI agent that autonomously searches and applies for jobs on the internet on behalf of the user. By controlling the browser, users can input their resume and preferences, allowing Jobber to work in the background. The tool streamlines the job application process by automating the repetitive task of job hunting and applying, saving users time and effort. Jobber offers a convenient solution for individuals looking to explore job opportunities without the hassle of manual job searching and application submission.

README:

sentient

this agent is based on our upcoming open-source framework sentient to help devs instantly build fast & reliable AI agents that can control browsers autonomously in 3 lines of code.

jobber - apply to relevant jobs on internet autonomously

jobber is an ai agent that searches and applies for jobs on your behalf by controlling your browser. put in your resume and preferences and it does the work in background.

demo

checkout this loom video for a quick demo

jobber and jobber_fsm

you might notice two separate implementations of jobber in the repo. jobber folder contains a simpler approach to implementing multi-agent conversation required between a planner and a browser agent.

the jobber_fsm folder contains another approach based on finite state machines. there are slight nuances and both result in similar level or performace. however, the fsm approach is more scalable, and we will be doing further improvements in it.

the downside of fsm agent is that it is dependent on structured output from open ai. so you can't reliably use cheaper models like gpt4o-mini or other oss models which is possible in jobber

setup

  1. we recommend installing poetry before proceeding with the next steps. you can install poetry using these instructions

  2. install dependencies

poetry install
  1. start chrome in dev mode - in a seaparate terminal, use the command to start a chrome instance and do necesssary logins to job websites like linkedin/ wellfound, etc.

for mac, use command -

sudo /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222

for linux -

google-chrome --remote-debugging-port=9222

for windows -

"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
  1. set up env - add openai and langsmith keys to .env file. you can refer .env.example. currently adding langsmith is required but if you do not want to use it for tracing - then you can comment the line litellm.success_callback = ["langsmith"] in the ./jobber_fsm/core/agent/base.py file.

  2. update your preferences in the user_preferences.txt file in the folder of agent that you are running (jobber/ jobber_fsm). provide the local file path to your resume in this file itself for the agent to be able to upload it.

  3. run the agent - jobber_fsm or jobber

python -u -m jobber_fsm

or

python -u -m jobber
  1. enter your task. sample task -
apply for a backend engineer role based in helsinki on linkedin

Run evals

  1. For Jobber
 python -m test.tests_processor --orchestrator_type vanilla
  1. For Jobber FSM
 python -m test.tests_processor --orchestrator_type fsm

citations

a bunch of amazing work in the space has inspired this. see webvoyager, agent-e

@article{he2024webvoyager,
  title={WebVoyager: Building an End-to-End Web Agent with Large Multimodal Models},
  author={He, Hongliang and Yao, Wenlin and Ma, Kaixin and Yu, Wenhao and Dai, Yong and Zhang, Hongming and Lan, Zhenzhong and Yu, Dong},
  journal={arXiv preprint arXiv:2401.13919},
  year={2024}
}
@misc{abuelsaad2024-agente,
      title={Agent-E: From Autonomous Web Navigation to Foundational Design Principles in Agentic Systems},
      author={Tamer Abuelsaad and Deepak Akkil and Prasenjit Dey and Ashish Jagmohan and Aditya Vempaty and Ravi Kokku},
      year={2024},
      eprint={2407.13032},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2407.13032},
}

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for jobber

Similar Open Source Tools

For similar tasks

For similar jobs