Inspiration

As first-year college students, we are acutely aware of the years of internship and job applications that lie ahead of us. When discussing ideas for this hackathon project, we realized that large language models are well suited to the nature of resume reviewing and answering job application questions, and can provide with a very human interface a support system for people who are uncertain about their career or how to proceed with their applications. These concerns led us to develop CareerPal.

What it does

The CareerPal website includes both a resume extraction tool and a career advice chatbot. The resume extraction tool allows the user to upload their resume and displays a list of the skills that the user has represented in the document. This allows the user to see how the format of their resume affects what keywords are prominent and what information automated resume parsers might glean.

The chatbot answers users’ questions, incorporating chat history into the model’s context, and provides links to relevant Workplace StackExchange posts that informed its responses. If you would like to try out the chatbot independently of the website, you can interact with it online here: https://huggingface.co/spaces/anandaa/careerpal. Note that this space and the website will provide slower responses than running the chatbot independently on a machine with a GPU.

How we built it

We used version 2 of the large language model Dolly and fine tuned on text from the Workplace StackExchange dataset to create our chatbot, which we hosted on Huggingface Spaces and merged with our website through a Gradio (gradio.app) inset. Our website itself was created through HTML, Bootstrap, CSS, and Javascript, with a Python script for resume parsing and made dynamic through Flask.

Challenges we ran into

Our model was initially quite slow and was not giving any relevant information in the response, which we worked around by using a smaller Dolly model and prompt engineering the instantiation of the chatbot. We also were not able to run part of the data preparation on a Mac, which led to us using another laptop. Another challenge we ran into is formatting the chatbot’s output, and the capitalization only applies to the first sentence.

Accomplishments that we're proud of

We are proud of a fully functional and user friendly website. Additionally, while we were not experienced with LLMs prior to the “So you think you can hack” hackathon, we created a useful chatbot that we would use in our own lives. And overall, we worked efficiently and smoothly as a team. We are also very happy with the final look and feel of the website, because we have minimal experience with Flask and feel that a human-friendly chatbot application should have a human-friendly interface.

What we learned

We learned how to process data and store them as embeddings in a Chroma database. We developed our skills in using LLMs and working with DataBrick’s dolly-v2 on Hugging Face. Additionally, we gained insights into web development and learned to use industry-standard tools, like BootStrap and Gradio, to create a website that seamlessly interfaces with a large machine learning model.

What's next for CareerPal

To increase accessibility, we hope to host CareerPal on a website and give a completely live experience for the user. Additionally, we will utilize larger and faster models to streamline user and chatbot interactions. To provide additional ways to use CareerPal, we could develop a browser extension to allow the user to work directly on job applications. We will also bring our resume feature to the next level by giving users the ability to generate an application-ready resume based on inputted skills and experiences.

Built With

Share this project:

Updates