Inspiration

my inspiration came from the need for jobs but people often protray themselves differently so i felt the need to connect people helping them find their needs since i have also fallen suite of this need to find jobs to apply to me

What it does

Job Research Agent System," is a sophisticated AI-powered tool designed to perform deep job market research and provide personalized recommendations for job seekers based on their resume data and GitHub projects. The system represents an advanced implementation of agentic AI technology that brings together multiple components to deliver comprehensive career insights. it also has the ability to apply for some jobs for you(though not extensively tested)

How we built it

Deep Jobs

the perplexity API was the main element in this project

llm= LLM(
    model= "sonar-deep-research",
    base_url="https://api.perplexity.ai/",
    api_key=os.getenv("PERPLEXITY_API_KEY")

we had to create agents in particular 2 agents using crewai

analysis_agent= Agent(
        role="Job Market Analyst",
        goal="Analyze job market trends and provide detailed insights on job opportunities",
        backstory="""You are an expert job market analyst with years of experience in workforce intelligence.
        Your specialty is analyzing job trends, skill demand, and market conditions to provide actionable insights.""",
        verbose=True,
        allow_delegation=False,
        tools=[search_tool, coder],
        llm=llm,
        code_execution_mode="safe",       # correct: one of the allowed literals
        allow_code_execution=True,  

since it has the widest variety of tools we then intergrated it by exposing by MCP so it can be exposed to other llms so this whole system can actually run from LLMs like claude desktop and claude code we didnt create an MCP client because we needed and we already knew the tools we are calling

from fastapi_mcp import FastApiMCP
app = FastAPI()

@app.get("/get_jobs",operation_id="get the jobs",summary="This tool is used to get jobs")
async def job(github, resume):
    return await run_job_research_workflow(github)

@app.post("/get_jobs/apply",operation_id="apply for jobs autonomously still in beta")
async def apply(link):
    return await auto(link)


mcp = FastApiMCP(
    app,
    name="Job match",
    description="Simple API exposing adding operation",
)

mcp.mount()

for the user interface the go to was three.js coz of how good the UIs made with it are but we didnt know anything about three.js i had experience in blender and rodney knew js so made ir work this project has been complete while doing final exams and tests in a period of two weeks.

Challenges we ran into

since the perplexity API had no vision capabilities we had to use the gemini api to use with the auto apply agent to give it vision capabilities. we initially used an mcp client using sonar deep research model but it increased the delay hence the use of fastapi-mcp the auto apply agent has trouble with caption protected websites i think the biggest problem was making the model output serializable but we managed to accomplish by using pydantic.

Accomplishments that we're proud of

our project would not naturally be recognized as a deep research project but that is its catergory since the llm used is a deep research model to do analysis we are able to provide more personalized jobs resume recommendations and make people get jobs faster

What we learned

we learnt alot about mcp and its use as an ai agent developer i hadnt seen its essence we have learnt how powerful the perplexity api is and the various use cases

What's next for Deep_Jobs

we are planning to provide this project code to github then advance it to a company that wanted a similar project done

Built With

Share this project:

Updates