AyeHigh - AI Resume Shortlister #AppwriteHackathon

Software Development Engineer 2 - Frontend & Backend. Expertise in JavaScript (TS) Ecosystem (Web FullStack). Experience in building Generative AI powered solutions & workflows and effective Prompt engineering.
Portfolio - rajsavaliya.com GitHub: @SRX9
Side Projects:-
Ayesoul.com Ayehigh.com Ayedot.com
My project for Appwrite Hashnode Hackathon
🚀 Live App Link: resume-shortlister.vercel.app
Team Details
- Raj S. - @rajdevjs
📋Description of Project
Introducing AyeHigh - The Resume Shortlister AI Tool, the perfect solution for anyone looking to improve their chances of getting their resume shortlisted for a job. With this user-friendly application, you can easily assess the compatibility of your resume with the job you're applying for.
How does it work? Simply upload your resume and provide the job description, and our powerful AI tool will generate a comprehensive analysis. You'll receive a resume shortlisting score, indicating how well your resume matches the job requirements. The higher the score, the greater your chances of getting shortlisted.
But it doesn't stop there! Our tool goes beyond a simple score. It provides you with a detailed summary report, evaluating your resume based on key criteria such as skills, keywords, and experience. This analysis highlights what you're doing right and offers valuable suggestions for improvement.
🔑 Key Features:
Simplified Resume Shortlisting: Easily upload your resume and enter the job description to receive a comprehensive summary and a resume shortlisting score. This score indicates how well your resume aligns with the job requirements, increasing your chances of getting shortlisted for the position.
Feedback Sharing: Share your valuable feedback on the Resume Shortlisting Results. Your input helps us enhance the service and provide an even better user experience.
User Account Management: Create an account or log in to access the full range of services. Appwrite's user management services allow you to efficiently manage your profile data, ensuring a seamless user experience.
Fully Responsive: Our Web Application is Fully Responsive, able to work and render properly on all Desktops, Laptops, Tablets, and Smartphones. You can visit our Live App or Checkout some snapshots of our application at the end of the article
Personalized Account Settings: Tailor your experience with the ability to manage account settings. Appwrite's account services empower you to customize your preferences and optimize your usage.
Contact Feature: Reach out and receive support effortlessly through the integrated contact feature. Connect with the team behind the application for any questions or feedback.
Why we chose to tackle this challenge?
- We chose to tackle this challenge because we recognized the need for job seekers to know if their resume is good enough for the job or not, providing them with an understanding of their chances of getting shortlisted for the job. By leveraging AI technology, our application aims to make candidates aware of their resume's strong and weak points and optimize their resumes effectively, increasing their chances of getting shortlisted for desired job opportunities. So, we decided to build this in #AppwriteHackathon
Tech Stack
- Frontend: Next.js 13, TypeScript, Tailwind CSS with Shadcn UI
- Backend: Appwrite (BaaS - Backend as a Service)
- Vercel: Used for Hosting our Next.js Application
- Cloud: AWS SQS
Appwrite Cloud Services
Authentication: #Appwrite Cloud's authentication and authorization helped a lot to implement features to handle user login and sign-up functionalities faster and securely. This ensures that only authorized individuals can access the application.
Database: #Appwrite Cloud's powerful database service serves as the foundation for storing crucial application data. We utilize five collections - UserDetails, Contacts Request, Shortlisting Request Information, Feedbacks, and Notification Related Information. This allows us to organize and manage data efficiently.
Cloud Functions - Node.js: To implement our custom logic for the Resume Shortlisting service, we used Appwrite's cloud functions. These functions process the resume and job description, passing them to AWS Queue Service for further processing by Lambda functions. Ultimately, this integration seamlessly updates the Appwrite Database with the relevant information.
Storage: Appwrite's Storage Service plays a vital role in our application by providing a reliable and scalable solution for users to upload and store their resumes. This functionality is crucial for the review process, ensuring that user documents are securely stored.
AWS SQS (Message Queue Processing) with Appwrite Functions
(Waiting for Appwrite to launch Queue service)
With Appwrite Custom Functions, we pass messages in AWS SQS, a message queue processing solution, after pre-processing of data, to enhance the efficiency of our Resume Shortlisting process. By queuing each shortlisting operation, we effectively manage the workload and streamline the process. With an average processing time of 20 to 30 seconds per shortlisting, SQS ensures smooth and uninterrupted execution.
Challenges We Faced
We faced 2 Challenged in this project:
Developing Whole App in just 2 weekends from scratch: I became aware of the hackathon pretty late and was left with only 2 weekends to develop my project from scratch. However, when I began using Appwrite, it greatly accelerated my development process. I no longer had to concern myself with writing backend code for authentication, authorization, setting up databases, or implementing storage-related functionality. Moreover, Appwrite's SDK was also very easy and faster to work with. All of these tasks could be accomplished with just a few clicks, saving me a significant amount of time and allowing me to concentrate more on the business logic of my application.
Challenges with Generative AI: One of the challenges we encountered was related to the use of Generative AI in our Resume Shortlisting process. Generative AI language models are non-deterministic, which means they may occasionally produce undesired outputs and fail to yield improved results. Additionally, there are limitations on the amount of data that can be fed into the model, requiring us to carefully preprocess our prompt data to fit within these constraints. Properly training the model was essential to ensure optimal results and minimize the occurrence of error-prone outcomes.
Public Code Repo
GitHub Source Code: https://github.com/SRX-OSS/Appwrite-Resume-Shortlister
Demo Link
Link to the demo recording of your project:
Live Application Link to try out the Application yourself: https://resume-shortlister.vercel.app/
Overall , I actually loved #appwrite, it makes developing Applications so much faster, no need to worry about all the support features and its manual setup, for the applications, it helps us get more time to focus on the Core Business Logic of the Application. Planning to use it on a larger-scale project now. It was a fun practice in #AppwriteHackathon .
Some SnapShots of the Application:



