Inspiration
Our journey through the job search process was filled with frustrations and missed opportunities. As aspiring professionals, we encountered traditional Applicant Tracking Systems (ATS) that heavily relied on keyword matching, which often overlooked us and countless others. This experience sparked a desire to create a better solution. A study by Harvard Business Review found that 88 percent of recruiters felt that qualified candidates were ignored by an ATS because they “did not match the exact criteria established by the job description.”[1]
We discovered that keyword-based ATS systems failed to recognize the value of transferable skills. Even though we possessed comparable expertise in alternative technologies, the rigid keyword criteria disregarded our abilities. We witnessed this discrepancy firsthand when companies undergoing tech stack migrations still included outdated keywords in their job postings, leading to missed opportunities for qualified candidates.
Furthermore, we realized that recruiters were burdened with the subjective task of selecting relevant keywords and determining their importance. This process introduced human bias and often excluded highly talented individuals who could have excelled in the role. It became evident that the ATS systems were hindering the recruitment process, overlooking potential in favor of rigid keyword matches.
These experiences inspired us to develop nATS, an innovative ATS solution that goes beyond keyword matching. By leveraging advanced word embeddings and semantic understanding, we aim to address the shortcomings of traditional ATS systems. We strive to eliminate the barriers caused by obsolete keywords, empower recruiters with a more comprehensive evaluation approach, and ensure that transferable skills are recognized and valued.
Our goal is to revolutionize the hiring process, making it more inclusive and reflective of true potential. Through nATS, we seek to provide equal opportunities for talented individuals, alleviate the burden on recruiters, and embrace the ever-evolving technological landscape. Together, we can overcome the limitations of keyword-based ATS systems and shape a future where skills and abilities are celebrated, regardless of specific keyword matches.
What it does
nATS is an advanced Applicant Tracking System (ATS) that efficiently filters applicants by utilizing vector embeddings. It takes a job posting and multiple resumes as input, leveraging OpenAI to generate vector embeddings and Pinecone for efficient storage and querying. AWS S3 is used for secure data storage, while Vercel handles the deployment. nATS streamlines the hiring process, ensuring precise applicant filtering based on semantic similarity, enhancing efficiency, and improving candidate selection.
How we built it
nATS was built using a combination of technologies and frameworks to create a robust and efficient Applicant Tracking System. Here's an overview of the backend implementation:
Flask, a micro web framework in Python, served as the foundation for the application. It allowed us to handle routing, HTTP requests, and responses efficiently. Python
Python was the primary programming language used for developing the backend logic and integrating various libraries and services. AWS S3
We utilized AWS S3 (Simple Storage Service) for securely storing applicant resumes and other relevant data. It provided a scalable and reliable solution for data storage. Pinecone
Pinecone was integrated as the vector database for efficient storage and retrieval of applicant and job embeddings. By leveraging Pinecone, we could perform fast and accurate matching of applicants to job positions.
We utilized the OpenAI Embeddings API to generate embeddings for resumes and job descriptions. The embeddings enabled us to evaluate the semantic similarity between applicants and job positions accurately.
Challenges we ran into
During the development of nATS, we encountered several challenges:
Session Management on Vercel: While we had no trouble implementing session management on the local development server, deploying nATS on Vercel posed challenges in maintaining session persistence. We had to devise strategies to ensure consistent session tracking in the Vercel deployment environment.
Pinecone Integration and Limited Indexes: Integrating Pinecone as the vector database presented difficulties in upserting vectors due to the limited number of indexes available. We were using the free version :) We had to carefully manage and optimize the vector indexing process to accommodate the constraints.
Accomplishments that we're proud of
During the development of nATS, we achieved several significant milestones that we are proud of:
Seamless Integration of Multiple Technologies: We successfully integrated various technologies, including AWS S3 for secure data storage, Pinecone for efficient vector database operations, and Vercel for smooth deployment. Bringing these components together required meticulous planning and coordination, and we are proud of the seamless integration achieved.
Optimized Pinecone Integration: Despite the limited number of indexes in Pinecone, we successfully integrated the vector database, enabling efficient storage and retrieval of embeddings, thereby enhancing the speed and accuracy of applicant filtering.
What we learned
Throughout our journey with nATS, we had the privilege of delving into various aspects of its development, which brought us valuable insights and learnings. Let's explore some of the key lessons we discovered along the way.
One of the most powerful discoveries was our experience with Pinecone. This remarkable tool proved to be a game-changer for us, as it enabled efficient storage and retrieval of vectors. We realized just how essential it is to leverage advanced technologies like Pinecone, which provide us with the capability to handle large-scale vector operations with ease. By harnessing its capabilities, we were able to optimize the performance of nATS, resulting in fast and accurate applicant filtering.
Next, we embarked on the journey of deploying nATS on the Vercel platform. This endeavor exposed us to the intricacies of deployment and session management. We encountered challenges in ensuring seamless session tracking, especially in a production environment. However, through perseverance and a deep dive into the nuances of session management, we successfully overcame these hurdles. Our experience with Vercel deployment has equipped us with the knowledge and expertise to deliver a reliable and user-friendly application to our users.
Additionally, we ventured into the realm of integrating external services into nATS. This introduced us to the complexities and challenges associated with seamless integration. We learned firsthand the importance of thorough planning, careful configuration, and seamless communication between different components. This experience has empowered us to navigate and integrate third-party services effectively, enabling us to provide a comprehensive and feature-rich experience to our users.
What's next for nATS Applicant Tracking System (nATS)
Looking ahead, we have an ambitious roadmap for nATS, with a focus on providing users with more flexibility and options for embedding models and evaluation metrics. Here's what we have in store:
We understand that different use cases may require different embedding models. Therefore, we plan to expand the range of available models in nATS including HuggingFace Embedding Models using AWS SageMaker, giving users the ability to choose the one that best fits their specific needs. Whether it's OpenAI's GPT or other state-of-the-art language models, we aim to provide a comprehensive selection to enhance the semantic understanding of resumes and job descriptions. We believe that evaluating semantic similarity requires more than just a single metric. In the future, nATS will offer a variety of evaluation metrics to measure the compatibility between applicants and job postings. From cosine similarity to more sophisticated similarity measures, we strive to provide users with a customizable evaluation framework that aligns with their unique hiring criteria.
References
[1]https://www.hbs.edu/managing-the-future-of-work/Documents/research/hiddenworkers09032021.pdf
Built With
- amazon-web-services
- openaiapi
- pinecone
- python
- vercel



Log in or sign up for Devpost to join the conversation.