Senior Design Project for Fall 2022-Spring 2023
DigitalCoach is an AI-powered interview prep web application that allows job seekers to practice interviewing and receive immediate feedback. Some key features of DigitalCoach include creating interview sets from our database of questions and then recording corresponding video responses. Our AI uses machine learning models to analyze audio and video through a sentiment analysis. At the end, users are left with an overall score and actionable feedback.
For more detailed documentation on the different parts of the app (frontend, ml-api, ml model) refer to the README.md file in the root directory of the folders.
- Create a firebase app here
- Create a service account for the firebase app you've created using the Google Cloud console with instructions here
- Populate the
.env
files indigital-coach-app/
anddigital-coach-app/functions/
directory with the service account credentials. The files in the repository are just sample env files. Make sure that the files are named .env without the example part! - Install the latest stable version of Node here
- Install yarn here
- Install Python 3.10 here
- Install redis here
- Install pipenv here
- Make sure you run this in administrator mode if you're on Windows!
- Install nltk with
pip install nltk
- Open python with
python
in the command line- Ensure you are running python 3.10!
- Type into the python console:
and download all packages in the UI prompt (sorry we didn't figure out which ones you really need)
import nltk nltk.download()
- Create an account with Assembly AI and get an API key
- Populate the .env file in
ml-api/
with the API key from AssemblyAI. The files in the repository are just sample env files. Make sure that the files are named .env without the example part! - Ensure that firebase is connected: run
firebase login
and click the link to login and authenticate - Run
firebase projects:list
to see the projectId - Set the current project using the projectId from the previous step:
firebase use <projectId>
- Prerequisites
- Ensure you are running Windows or Ubuntu to avoid complier issues
- Use Node v16.19.0
- cd to the
digital-coach-app
directory - run
yarn install
to install dependencies for Next.JS - run
npm install -g firebase-tools
to install firebase - cd to the
functions
directory - run
yarn install
to install dependencies for the firebase functions - run
yarn add typescript@latest
to upgrade typescript - run
yarn build --skipLibCheck
to build the firebase functions modules - cd back to the
digital-coach-app
directory - run
yarn run emulate
to run the firebase emulator - in another terminal in the
digital-coach-app
directory, runyarn run dev
to run the Next.JS dev server - Navigate to
localhost:3000/api/seed
to seed the database.
- The Next.JS dev server is served at
localhost:3000
- The Firebase emulation console is served at
localhost:4000
- start your redis server with the instructions from the installation page here
- cd to the
ml-api
directory - run
pipenv install
to install the dependencies for the flask API - run
pipenv run serve
to start the Flask API server
- Next.JS
- React
- Firebase
- Storage
- Firestore
- Functions
- Sass
- Yarn
- Pipenv
- Flask
- Redis
- RQ
- AssemblyAI
- FER
- Numpy
- Scipy
- Matplotlib
- Jupyter Notebook
- Keras
- OpenCV
- Tensorflow
- NLTK
- Ming Lin (Fullstack)
- Max Shi (Fullstack)
- Hamzah Nizami (Machine Learning)
- Suzy Shailesh (UX/UI Design)
- Michael McCreesh (QA)
- Aparajita Rana (Product Management)