## 💡 Inspiration

It's job search season (again)! One of the most nerve-wracking aspects of applying for a job is the behavioural interview, yet there lacks a method to help interviewees prepare effectively. Most existing services are not able to emulate real-life interview scenarios sufficiently, given that the extent of the practice questions asked are limited without knowledge of the interviewee's experience. In addition, interviewers rarely provide constructive feedback, leaving interviewees feeling confused and without a plan for improvement.

## 💻 What it does

HonkHonkHire is an AI-powered interview practice application that analyzes your unique experiences (via LinkedIn/resume/portfolio) and generates interview questions and feedback tailored for you. By evaluating facial expressions and transcribing your responses, HonkHonkHire provides useful metrics to give actionable feedback and help users gain confidence for their job interviews.

## ⚒️ How we built it

HonkHonkHire was built on Node.JS back-end, with MongoDB Atlas Database to store user's data. We also used Firebase to store resume .pdf files. The user interface was designed in Figma, and developed using Javascript, HTML and CSS. The facial recognition was implemented using Google MediaPipe Studio, and Cohere's API was used to generate the personalized questions and feedback.

## 🪖 Challenges we ran into

This project itself was very ambitious for our team, given that it involved learning and applying a lot of unfamiliar technologies in a short period of time. As we had never worked together as a team before, it took some time to familiarize ourselves with each other's strengths, weaknesses, and communication styles.

## 🌟 Accomplishments that we're proud of

Our team is proud that we were able to deliver majority of the MVP features, and to have created something we would all love to use for our future job searches. Learning new technologies such as Cohere's API and OCR Space, and being able to employ them in our application was also very rewarding.

## 🧠 What we learned

Each one of our team members challenged themselves while creating this application. Our designer ventured into the world of programming and learned some HTML/CSS while coding a webpage for the very first time (yay)! Our front-end developer challenged herself by focusing on fundamentals such as Vanilla JS, instead of using more familiar frameworks. Another one of our developers learned about new APIs by reading documentations, and transferring data from front-end to back-end (and vice versa) using Node.JS. Our primary back-end developer challenged himself to explore facial/emotional expression and behavioural motion detection for the first time.

## 👀 What's next for HonkHonkHire

We would love to further enhance user experience by offering more detailed metrics such as talking pace, response length, and tone of voice. Through the use of these metrics, we hope to give users the ability to track their improvements over their professional journey and encourage them to continue to improve upon their behavioural interview skills.
## Inspiration

Recruiters typically spend only a few seconds scanning each resume before deciding whether to move forward with a candidate. Given the volume of applications they receive, they rarely have the time to thoroughly check each candidate’s GitHub and other supporting documents to verify their competency (GitHub activities can be easily manipulated). Verifying the quality of code and ensuring the authenticity of claims is crucial but often impractical. Our solution, Verify, helps recruiters streamline their verification process and make informed hiring decisions with confidence.

## What it does

Verify revolutionizes the recruitment process by providing a comprehensive, evidence-based evaluation of candidates' skills and experience, and helps recruiters make informed decisions quickly by validating the authenticity of resumes and other candidate claims.

Our platform analyzes and cross-references data from multiple sources, such as GitHub repositories, to validate the authenticity of resume claims. It goes beyond surface-level information, diving deep into project complexities and coding patterns to generate a holistic view of a candidate's technical abilities. Verify also employs advanced natural language processing to match candidate profiles with job descriptions, offering recruiters a clear, data-driven basis for their hiring decisions. This approach not only saves time but also significantly reduces the risk of hiring based on inflated or inaccurate resume claims.

## How we built it

We developed Verify using a robust and scalable tech stack, blending cutting-edge frontend and backend technologies to create a powerful, user-friendly platform.

Our frontend leverages Next.js, React, Tailwind CSSm and Shadcn for a sleek, responsive UI. This combination ensures a visually appealing and intuitive user experience, particularly on individual applicant pages where recruiters can quickly review data. Tailwind's utility-first approach allows for rapid styling and customization, resulting in a polished interface.

The backend is built with FastAPI, chosen for its high performance and asynchronous capabilities. We chose MongoDB as our primary database, utilizing its flexibility for storing varied data structures (Collections) and its powerful vector search capabilities (Atlas Vector Search) for semantic matching. MongoDB also plays a crucial role in our Applicant Tracking System (ATS), storing and retrieving resume text and keywords to power efficient resume analysis and matching.

Authentication is handled through Auth0, implementing features such as Universal Login, Auth0 Actions, and the Management API to ensure a secure and flexible authentication process. Firebase supports our file storage needs, particularly for handling resume PDF uploads and retrievals.

Our analysis leverages the GitHub API to fetch both public and private repositories of applicants. We securely and privately process this data using natural language processing techniques to derive user-specific, job-specific insights, and employ SentenceTransformers for advanced semantic search and matching skills mentioned in resumes with actual work demonstrated in repositories.

A key component of our system is the integration with Google's Generative AI (Gemini) for in-depth code analysis and insight generation. We utilize the Instructor library (shoutout Jason Liu) in conjunction with Pydantic to structure the output from our language models. This approach was crucial for handling the complex, nested data often encountered in repository analyses, allowing us to maintain consistent data structures throughout our application and enhancing reliability and ease of data manipulation.

This comprehensive tech stack enables Verify to deliver fast, accurate, and insightful candidate assessments, transforming the recruitment process for technical roles by providing a data-driven, evidence-based evaluation of candidates' skills and experience.

## Challenges we ran into

We faced several challenges during the development of our project, particularly with the frontend and backend integration. Initial issues included problems with connecting the frontend to backend API endpoints, difficulties in displaying the radar chart, and managing resume storage. Crafting an optimal user experience also proved challenging due to time constraints.

Initially, we planned to host our backend API on GCP Cloud Run. While this setup worked at first, it soon became problematic as our API grew more complex. One notable issue occurred when our GCP instance crashed due to a BIOS data file error, which was traced back to a version mismatch in a dependency in the Google AI library (1.65.7 instead of 1.64.0) [as a result of this, we discovered a recent thread on Github where two people got into an argument over this and one threatened to sue the other for defamation in the Github discussion section lol].

As we integrated transformer-based embedding models into our API, we encountered additional complications: the build times increased significantly and the builds frequently failed on GCP. To address these inefficiencies and meet our tight deadlines, we decided to switch to hosting the API locally.

## Accomplishments that we're proud of

We successfully integrated a diverse tech stack, including FastAPI, MongoDB, Next.js, React, and Google's Generative AI, to creating a cohesive, powerful, and scalable platform, and implemented a pipeline to derive context-specific and structured insights from Github repositories about a candidate's coding skills and project experiences. We streamline the recruitment process and allow recruiters to gain a better understanding of a candidate's skills without sacrificing time.

## What we learned

Rudraksh: I learned how to model data with Pydantic and how to extract structured data from LLMs. I spent a lot of time tinkering with GCP, teaching myself FastAPI, and brainstorming how to architect our system to allow data to flow where we needed it to go.

Alec: I used Auth0 for the first time and learned to use their universal login, the management api + actions, forms + flows, and how to customize pages with HTML/CSS. I also learned a lot about API integration and LLM usage.

Hamza: During this hackathon, I gained hands-on experience with MongoDB, Auth0, and integrating Next.js with a FastAPI backend. Diving into so many APIs was a new challenge for me, but it significantly enhanced my backend skills. I spent considerable time understanding how to model and manage data effectively, and I now feel more confident in my ability to handle complex backend systems.

Sarah: As the UI/UX designer, I didn’t learn any new tools. However, since there was limited reference material for a recruiter-facing job platform, I had to use my imagination to envision a B2B interface. I started by creating low-fidelity wireframes and user flows to communicate my ideas with the front-end developers. I experimented with clean and Bento grid designs and was pleased to receive positive feedback from individuals with recruiting experience. I learned a lot about different LLMs and about libraries used for front end web development from this hackathon.

## What's next for Verify

1. Intelligent Recommendations: We want to develop a recommendation engine that will suggest alternative job opportunities when a candidate doesn't quite fit the original position. This feature will help recruiters maximize the potential of their candidate pool and help candidates find roles that best match their skills.
2. Chatbot Assistant: We want to integrate a recruiter-facing AI chatbot that will allow recruiters to make natural language queries like "Find me a candidate who applied within the last month and has expertise in machine learning and cloud computing." This chatbot will streamline the search process, making it more intuitive and efficient.
3. Predictive Analytics: We think it would be amazing if we could implement predictive models that could forecast a candidate's potential performance and growth within a role, based on their past projects and learning patterns.
## Inspiration

We were inspired by the resilience of freelancers, particularly creative designers, during the pandemic. As students, it's easy to feel overwhelmed and not value our own work. We wanted to empower emerging designers and remind them of what we can do with a little bit of courage. And support.

## What it does

Bossify is a mobile app that cleverly helps students adjust their design fees. It focuses on equitable upfront pay, which in turn increases the amount of money saved. This can be put towards an emergency fund. On the other side, clients can receive high-quality, reliable work. The platform has a transparent rating system making it easy to find quality freelancers.

It's a win-win situation.

## How we built it

We got together as a team the first night to hammer out ideas. This was our second idea, and everyone on the team loved it. We all pitched in ideas for product strategy. Afterwards, we divided the work into two parts - 1) Userflows, UI Design, & Prototype; 2) Writing and Testing the Algorithm.

For the design, Figma was the main software used. The designers (Lori and Janice) used a mix iOS components and icons for speed. Stock images were taken from Unsplash and Pexels. After quickly drafting the storyboards, we created a rapid prototype. Finally, the pitch deck was made to synthesize our ideas.

For the code, Android studio was the main software used. The developers (Eunice and Zoe) together implemented the back and front-end of the MVP (minimum viable product), where Zoe developed the intelligent price prediction model in Tensorflow, and deployed the trained model on the mobile application.

## Challenges we ran into

One challenge was not having the appropriate data immediately available, which was needed to create the algorithm. On the first night, it was a challenge to quickly research and determine the types of information/factors that contribute to design fees. We had to cap off our research time to figure out the design and algorithm.

There were also technical limitations, where our team had to determine the best way to integrate the prototype with the front-end and back-end. As there was limited time and after consulting with the hackathon mentor, the developers decided to aim for the MVP instead of spending too much time and energy on turning the prototype to a real front-end. It was also difficult to integrate the machine learning algorithm to our mini app's backend, mainly because we don't have any experience with implement machine learning algorithm in java, especially as part of the back-end of a mobile app.

## Accomplishments that we're proud of

We're proud of how cohesive the project reads. As the first covid hackathon for all the team members, we were still able to communicate well and put our synergies together.

## What we learned

Although a simple platform with minimal pages, we learned that it was still possible to create an impactful app. We also learned the importance of making a plan and time line before we start, which helped us keep track of our progress and allows us to use our time more strategically.

## What's next for Bossify

Making partnerships to incentivize clients to use Bossify! #fairpayforfreelancers