-
CavHires Homepage
-
Description page of CavHires
-
Interactive Map - Job details
-
Interactive Map - Job filtering
-
RAG-Based AI Copilot - asking for recommendations
-
RAG-Based AI Copilot - asking for a specific / accurate answer
-
Interactive Map with 3D Feature - In beta testing
-
Personal calendar planning with auto-logging/caching
Inspiration
Finding internships are hard enough, finding part-time student opportunities doesn't need to be harder. As students who are constantly looking for part-time jobs, whether it is jobs that covers our living costs or TA/RA/Intern roles that can help us to build up our resume, it can be often times frustrating trying to login to workday each time just to look for job updates.
This is where we've decided to 'decentralize' all of that job board information into a publicly available website, with data visualizations and an state of the art AI chatbots to assist student job seekers in identifying nearby available opportunities that they could apply to.
What it does
Visualizes all available on-grounds (UVA campus) student opportunities on a map, users could toggle with filter options to find jobs of their interest, or asking our dear 'Layla' AI chatbot to retrieve specific job information, such as upcoming summer internships, opportunities pertaining to a specific subject matter, or jobs that pays the best. Users could also utilize auto-caching calendars to plan their job application progress, as well as accessing miscellaneous analytical visualizations to get a glance at the big picture of the opportunities offered on-grounds
How we built it
We built it using HTML, CSS, JavaScript and Flask for front-end and interactive elements; Python (Selenium, Bs4, Requests) for data mining, and Python (LangChain) with Streamlit to create Retrieval-Augmented-Generation based Chatbots that perform accurate document search with given user queries.
Challenges we ran into
Getting the data is the biggest challenge we ran into, there were no readily available APIs for us to access, which meant that we'll have to craft the scripts ourselves to mine data from sources that are really hidden away.
The orchestration of the chatbot was also challenging, we've iteratively prompt engineered its templates as well as document search parameters in order to have the chatbot to retrieve accurate, detailed, and reliable job sources information without hallucinating or creating irrelevant conversations.
Accomplishments that we're proud of
We are especially proud of being able engineer all components together and having a fully functioning website that students could interact with and derive important insights. The data is the foundation of this website, to which we're also very proud of our ability to conquer challenges in web-scraping and being able to extract textual data and turning them into LLM ready data + presentable visualizations.
What we learned
We learned that it takes careful planning, orchestration, and dedication to see through a project from start to finish. We managed to overcome every single challenge we met along the way despite occasionally feeling super frustrated
What's next for CavHires
CavHires intends to automate all parts of the ecosystem, ideally, CavHires could be connected to a real-time data pipeline that ingests lives data and conducts real-time data processing, visualization, and conversion into LLM ready data. With an entirely automated ecosystem, CavHires could become a sustainable web-application that continues to impact students for "generations".
Built With
- beautiful-soup
- css3
- flask
- html5
- javascript
- kepler.gl
- langchain
- openai
- pinecone
- python
- pythonanywhere
- selenium

Log in or sign up for Devpost to join the conversation.