## Inspiration 🌟

In today's competitive job market, technical interviews play a crucial role in securing tech roles. However, many candidates struggle with effective preparation. While numerous coding problems and mock interview resources are available online, they often lack the interactive and dynamic nature of real interviews. Candidates miss out on nuanced feedback, conversational flow, and real-time adjustments that come with an experienced interviewer. This gap leaves many feeling unprepared and uncertain about their performance in actual interviews. We wanted to bridge this gap and provide a more interactive and realistic preparation tool.

## What it does 🚀

InterviewAId is an AI-powered platform that simulates real technical interviews. It offers:

* **Realistic Interaction:** Engage in a simulated interview environment with conversational AI that asks questions, provides feedback, and adapts based on your responses.
* **Dynamic Questioning:** Experience a range of technical questions, from coding challenges to system design problems, just like in a real interview.
* **Constructive Feedback:** Receive constructive, detailed feedback on your answers, helping you understand your strengths and areas for improvement.
* **Sentiment Tracking:** Monitor your sentiment through the interview, identify trends, and focus on being more confident in completing your interviews.

## How we built it 🛠️

We built InterviewAId using:

* **Front-end:** Next.js for the user interface, ensuring a smooth and interactive user experience.
* **Back-end:** FastAPI to handle API requests and manage real-time WebSocket connections.
* **AI Models:** Integrated OpenAI's Whisper for speech-to-text capabilities and Hume AI for analyzing interview responses.
* **Storage:** AWS S3 for storing audio recordings securely.
* **Real-time Communication:** Socket.io for handling real-time interactions between the user and the AI interviewer.

## Challenges we ran into 🏃‍♂️

* **Real-time Processing:** Ensuring smooth real-time interaction between the user and the AI interviewer without noticeable lag.
* **AI Integration:** Seamlessly integrating multiple AI services to handle speech-to-text, response analysis, and dynamic questioning.
* **Data Storage:** Securely storing and managing audio recordings while maintaining user privacy.
* **Feedback Mechanism:** Developing an accurate and constructive feedback mechanism that mimics a real interviewer's feedback.

## Accomplishments that we're proud of 🎉

* **Interactive AI Interviewer:** Successfully created an AI interviewer that can ask dynamic questions and provide real-time feedback.
* **Seamless Integration:** Achieved seamless integration of various AI models and real-time communication tools.
* **User Experience:** Developed a user-friendly interface that makes technical interview preparation engaging and effective.

## What we learned 📚

* **AI Capabilities:** Gained deeper insights into the capabilities and limitations of AI in simulating human-like interactions.
* **Real-time Systems:** Enhanced our understanding of building and managing real-time communication systems.
* **User Feedback:** Learned the importance of providing constructive and actionable feedback to users.

## What's next for InterviewAId 🌟

* **Expanding Question Database:** Continuously add more questions to cover a wider range of topics and difficulty levels.
* **Advanced Analytics:** Develop advanced analytics to provide users with deeper insights into their performance and improvement areas.
* **Multi-language Support:** Extend support to multiple languages to help non-English speaking candidates prepare effectively.
* **Personalized Interviews:** Implement machine learning algorithms to personalize interview questions based on user progress and preferences.

Join us on this journey to revolutionize technical interview preparation with InterviewAId! 🚀
## Inspiration

Food waste by consumers is a large portion of all food waste. We wanted to create an application to help reduce food waste at the consumer level by giving consumers an easy tool to keep track of expiration dates.

## What it does

Takes user input and creates a table of food items, their amounts, and their expiration dates that can be removed, added, and adjusted by the user. The table is organized with the earliest expiration dates at the top, along with a special color-coding to further organize expiration dates. Red means expired, yellow means expiring in a week, and green means over a week until the expiration date.

## How we built it

Used Django as a web framework, creating the backend in mainly Python and using CSS styling and html to develop the front end. The backend makes use of a list of Python dictionaries to store all the food items while implementing Django framework to build the pages and views on the website.

## Challenges we ran into

We wanted our website to be able to notify users via email when their food items are about to expire, but we weren't able to learn how to implement this in time. There was also a lot of trial and error in comparing dates for the color-coding to work.

## Accomplishments that we're proud of

This is our first hackathon, and we are so excited to have a somewhat finished project by the end of it, along with getting to learn and work together!

## What we learned

We all had to learn to use Django, and some of us were new to Python and CSS as well.

## What's next for Food Waste Helper

Hopefully notifying users via email when their items are about to expire, as well as allowing the user to look up recipes including their food items, or how the best way for them to dispose of the food item, if needed.
## Inspiration

Many people feel unconfident, shy, and/or awkward doing interview speaking. It can be challenging for them to know how to improve and what aspects are key to better performance. With Talkology, they will be able to practice in a rather private setting while receiving relatively objective speaking feedback based on numerical analysis instead of individual opinions. We hope this helps more students and general job seekers become more confident and comfortable, crack their behavioral interviews, and land that dream offer!

## What it does

* Gives users interview questions (behavioural, future expansion to questions specific to the job/industry)
* Performs quantitative analysis of users’ responses using speech-to-text & linguistic software package praat to study acoustic features of their speech
* Displays performance metrics with suggestions in a user-friendly, interactive dashboard

## How we built it

* React/JavaScript for the frontend dashboard and Flask/Python for backend server and requests
* My-voice-analysis package for voice analysis in Python
* AssemblyAI APIs for speech-to-text and sentiment analysis
* MediaStream Recording API to get user’s voice recordings
* Figma for the interactive display and prototyping

## Challenges we ran into

We went through many conversations to reach this idea and as a result, only started hacking around 8AM on Saturday. On top of this time constraint layer, we also lacked experience in frontend and full stack development. Many of us had to spend a lot of our time debugging with package setup, server errors, and for some of us even M1-chip specific problems.

## Accomplishments that we're proud of

This was Aidan’s first full-stack application ever. Though we started developing kind of late in the event, we were able to pull most of the pieces together within a day of time on Saturday. We really believe that this product (and/or future versions of it) will help other people with not only their job search process but also daily communication as well. The friendships we made along the way is also definitely something we cherish and feel grateful about <3

## What we learned

* Aidan: Basics of React and Flask
* Spark: Introduction to Git and full-stack development with sprinkles of life advice
* Cathleen: Deeper dive into Flask and React and structural induction
* Helen: Better understanding of API calls & language models and managing many different parts of a product at once

## What's next for Talkology

We hope to integrate computer vision approaches by collecting video recordings (rather than just audio) to perform analysis on hand gestures, overall posture, and body language. We also want to extend our language analysis to explore novel models aimed at performing tone analysis on live speech. Apart from our analysis methods, we hope to improve our question bank to be more than just behavioural questions and better cater to each user's specific job demands. Lastly, there are general loose ends that could be easily tied up to make the project more cohesive, such as integrating the live voice recording functionality and optimizing some remaining components of the interactive dashboard.