Giter VIP home page Giter VIP logo

ht6-interview-helper's Introduction

Inspiration

Elevator pitches, interviews, selling yourself... whether they be for jobs, internships, or university applications - are an inevitable and stressful part of life. While we could always go through practice questions, it's difficult to evaluate key communication skills such as eye contact, smiling, and talking at a reasonable pace. We decided to make an app that would make the interview prep experience more convenient and help a large sector of the population gain confidence and competence heading into interviews.

The name "ElevAIte" incorporates the concepts of elevator pitches, elevating/improving oneself, and AI/technology.

What it does / How we built it

The user records themselves talking to the webcam and the app displays the user's amount of eye contact and certain facial emotions in real time, as well as other stats such as average words-per-minute and the number of "strong action verbs" used. We used OpenCV for facial recognition as well as tracking the movement of the eyes and pupils, deduced from the distances and dimensions between these features whether the person is looking directly at the webcam, and calculated a percentage for how often the person made eye contact. We also used the Indico API to detect facial emotions (anger, fear, neutral, surprise, happy, sad) and Google Cloud speech-to-text API. We compared the text against a list of 200+ recommended "action verbs" and identified which were used and how often. Multithreading was implemented for each of these processes for optimizing realtime detection and simultaneously present the data for the user. We used Flask and HTML/Javascript to make the front-end website and Firebase for the login/authentication page.

Challenges we ran into

The biggest challenge was integrating the Python/OpenCV back-end with a web app front-end using Flask, as well as dealing with deadlocks in our multithreaded application. Also, it was difficult improve on tracking eye movements in OpenCV since the pupil is small and the API - not being 100% accurate - would often identify nostrils or background objects as eyes.

Accomplishments that we're proud of

  • Not overdosing on caffeine
  • Not spilling drinks or getting Cheeto dust on electronics
  • Pretty UI for once

What we learned

  • Integration is hard (as expected)
  • Always git pull before you git push in order to git out of merge errors
  • It is possible to function on 4 hours of sleep for the entire weekend

What's next for ElevAIte

This app has great potential for expansion: we could market it to both interviewees and recruiters who conduct webcam interviews because it would be useful to obtain quantitative data about the emotion/tone and personality of the candidates. We were planning to incorporate more text analysis APIs that determined the mood, personality, and overall positivity of a piece of text. We could also add features such as timed practice interview questions for a more realistic environment, or allow users to track their progress in various metrics over time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.