Inspiration
We decided to create a tool that we saw a real need for and that wasn't already widely available. We see industry experience being increasingly valuable for employability, but also a divide between those who have access to careers services and mentors, and those who don't. SmartHire therefore aims to bridge this gap and help applicants show their strengths as candidates to their interviewers, no matter the role.
What it does
SmartHire interacts in conversation with our users, parsing information from their CV and target job description to ask them tailored questions specific to their target job role. The Agent listens to the responses given by the user, prompting them to delve into their projects / skills / technical depth by asking follow-up questions that challenge users to communicate their strengths as applicants. Our application also delivers real-time feedback, performing sentiment analysis to encourage interviewees to stay calm and confident.
How we built it
We built our project using React, Express, TypeScript and JavaScript for the front end, creating a simple and accessible user interface. We leveraged the NEUPHONIC API to deliver text as speech, allowing users to experience conversing in a formal interview setting. We also used Google Gemini API to process data from the provided CV and job description, as well as from the user's transcriptions to generate follow-up questions.
Challenges we ran into
We found ourselves with 3 servers running simultaneously, and at times this caused the application to become slow. We chose libraries such as numpy to streamline processes and to avoid timing mismatches by using time.sleep where necessary. We were careful to not let this affect user experience, as natural conversation is key to our application.
Accomplishments that we're proud of
We are particularly proud of learning to use new applications and tools within a time-constrained environment. Navigating this involved individual research and troubleshooting, as well as working collaboratively as a team to combine skillsets and solve problems. We are also proud of our idea, as we are passionate about its usefulness - we created a tool for which we are part of the target audience, and that drove us to think with the user at the centre.
What we learned
We have learned that setbacks are a normal and expected part of collaborative projects. Whilst at times we felt progress had slowed, it was often the same setbacks which encouraged us to reevaluate the project goals and find more efficient ways of creating SmartHire.
What's next for SmartHire
- Scraping websites for past interview questions, including Glassdoor. This increases usefullness for the user greatly and would help them prepare thoroughly.
- Scalability - multiple interview rooms and multiple servers to handle load
- Checklist from CV and Job Description of key points to make with real-time updates
- Provide a full transcript with detailed feedback at the end of the interview (e.g. STAR techniques highlighted for user to visualise response structure)
Built With
- express.js
- flask
- gemini
- genai
- google-cloud
- javascript
- librosa
- neuphonic
- react
- sentimentanalysis
- textblob
- typescript
Log in or sign up for Devpost to join the conversation.