Inspiration

As undergraduates, we are constantly frustrated with the job search process. One big hurdle when applying to jobs in the tech industry is to get past the resume screening stage. Each of the team members have all been in scenarios where they were ghosted or straight up rejected by companies at this stage.

One solution that some have had success with is cold emails. A well-crafted cold email often makes an applicant stand out and increases their chances of getting past this initial stage of the application process.

However, techies often have difficulty expressing their skillset through writing. They may have difficulty finding the right words to describe their technical abilities and experience, or may struggle to explain intricate processes in a concise and engaging way. Additionally, engineers may have difficulty conveying their enthusiasm for a particular project or skill in writing, as they are more accustomed to discussing these topics in person.

In these cases, engineers can benefit from using our solution. We aim to make it easier for engineers to express themselves when communicating with recruiters and make sure that their skills and qualifications are presented in the best light. We present “coldMaiL”, an AI-powered personalised cold email generator.

Is this such a huge problem?

Time Waster

Our findings show that the average tech fresh undergraduates sends out roughly 60 jobs applications. The amount of time spend writing a cold email is roughly 30 minutes on average. This means that the average undergraduate spends a total of 30 agonizing hours writing cold emails. Given that there are 73,000 computer science graduates annually, this accounts to 250 years of combined time wasted for a single batch of students. With that amount of time we can probably finally find a polynomial time complexity algorithm for the tower of hanoi!

Tower of Hanoi

Unfair Playing Field

Furthermore, the quality of a cold email is directly related to one's writing skill. A skilled and competent applicant might lose out to another applicant based on merely their ability to convey information well and convince the other party in a cold email. This might be quite unfair for some techies. Furthermore, we are moving into an age where AI tools are popping up that can help techies write better. We hope that every applicant who is trying to write a cold email has access to our tool, and thus play a part in leveling the playing ground.

Why cold emails?

Cold emails are more effective than applications in the job portal because they allow you to directly target potential employers, as opposed to relying on a job portal to match you with employers. Cold emails also allow you to introduce yourself to potential employers via highlighting your experience and skills, which can be more effective than simply filling out an online application. Additionally, cold emails give you an opportunity to show potential employers why you are the best fit for the job, allowing you to stand out from the competition.

What coldMaiL does

coldMaiL uses AI technology to automatically generate personalized cold emails to recruiters based on a user's resume. It takes in a user's resume, the target company's values and the target position's job description in order to have a holistic comprehension of the situation. This is important in its ability to generate a convincing cold email.

coldMaiL saves job seekers time, increases their chances of getting noticed, and helps them stand out from the competition. With the help of this webapp, we believe that the job search process will be much more efficient and less frustrating for everyone.

Job Applications Page

Email Creation Page

How we built it

We built the coldMaiL webapp using the RedwoodJS framework. Redwood is a full-stack, open-source framework that allows for the development of web apps with a modern and scalable architecture. It uses React for the frontend and a Node.js-like server for the backend with GraphQL at the API layer. This made it possible to create a smooth and responsive user interface while also keeping the data management and API call in the server side, to maintain data security.

The AI component was integrated into the app by using the GPT-3 API from OpenAI, which allowed us to generate personalized cold emails based on the user's resume. We used GPT-3 model to generate the cold emails, and fine-tuned the prompt to make the generated emails more relevant and personalized to the user's resume and the job they are applying for.

Overall, using RedwoodJS allowed us to build a webapp that is fast, efficient, and easy to use. With the help of GPT-3, we were able to provide more personalized and relevant cold emails to the users. Splitting the development into discrete independent components also made the development process much smoother and helped us bring our idea to life quickly.

Challenges we ran into

Creating coldMaiL was a challenging but rewarding process. One of the biggest challenges we faced was performing prompt engineering to generate personalized cold emails based on the user's resume and the job they are applying for. We had to fine-tune the prompts to ensure that the generated emails were coherent, grammatically correct, personalized, and unique. Additionally, we had to find a balance between brevity and completeness to make sure the emails were short and to the point, but also informative. A lot of the time, we found that GPT-3 would just copy long phrases from the job description. Testing and validating the generated emails was also an important step to ensure that the emails were accurate, relevant, and effective. Despite these challenges, with the right amount of tuning of GPT-3 parameters and engineered prompts, we were able to overcome them and deliver a high-quality and personalized cold email generation experience to the users.

Accomplishments that we're proud of

We are particularly proud of the work we put into designing the prompts for GPT-3 while developing coldMaiL. The process of prompt engineering was a major challenge, as it required extensive experimentation and testing to find the right prompts that would result in emails that effectively conveyed the candidate's qualifications and matched the company's values. However, we were able to develop a prompt engineering strategy that resulted in accurate and personalized emails that were grammatically correct and error-free. This is a testament to the effectiveness of our prompts and the skill we put into designing them, as this was a crucial aspect of the development process and we are proud of the results we achieved.

We are also proud of the user-friendly and intuitive frontend that we have developed. The frontend of the app is designed to be user-friendly and intuitive, with the goal of making the job search process as stress-free and efficient as possible for users. To achieve this, we have made sure that the frontend is visually appealing, easy to navigate, and simple to use. This ensures that job seekers of all experience levels can quickly and easily upload their resumes, customize their emails, and send them to recruiters.

We believe that the user-friendly and intuitive frontend of the app is a key factor in its success, as it allows users to easily take advantage of the app's powerful capabilities. We are proud of the effort we put into creating an app that is easy to use and accessible to all job seekers.

What we learned

During the research and development process of the "coldMaiL" webapp, we learned several important things:

  • The importance of user research: We learned the importance of understanding the needs and pain points of our target users when developing a webapp. As job seekers ourselves, we had gained insights into what users would be looking for in a cold email generation tool, and could tailor the app to meet their specific needs.
  • The power of AI in automating repetitive tasks: We learned how powerful AI technology can be in automating repetitive tasks, such as the task of personalizing cold emails.
  • The importance of user-centered design: We learned the importance of designing a webapp with the user in mind. By focusing on user-centered design, we were able to create an app that is easy to use, intuitive, and visually appealing, which enhances the user experience.
  • The importance of testing and validation: We learned the importance of testing and validating the generated emails to ensure that they are accurate, relevant, and effective. This was important to ensure the app's success and for providing good user experience.
  • The benefits of using a full-stack framework: We learned the benefits of using a full-stack framework like RedwoodJS, which allowed us to build a webapp that is fast, efficient, and easy to use. It made the development process much smoother and helped us bring our idea to life quickly.
  • Prompt engineering is a very important part of GPT-3: Without good prompts, the generated text may not be grammatically correct, may lack coherence, or may be repetitive. Good prompts can help GPT-3 generate desired text that is grammatically correct and coherent while avoiding repetition. Prompts should be short, concise and specific to direct GPT-3 to the right direction, and should be balanced between brevity and completeness to ensure that GPT-3 understands the context of the prompt and generates the desired output.

Business Model

Given the short interaction that a user will have with our application, a natural method to generate revenue is through requiring payments beyond a certain amount of cold emails.

One such way is to introduce the concept of "Credits" into the system. A user can initially start with a fixed number of free credits, which will be used with every email generated and sent (the exact mechanics can be fine-tuned). Once a user depletes their credits, they will need to purchase new credits.

The benefit of this approach is that we provide users with free credits for them to try our product and hopefully find lots of value in it such that they would be willing to spend money on purchasing additional credits.

On the cost side, since the demand for our portal is likely to vary in accordance with the academic cycle, it is beneficial to utilize cloud services to adjust our infrastructure in accordance with the expected workload. This will enable us to reduce our resources when the demand is low.

Another way we can monetize our application through data analytics. Employers can be provided with access to analytics and data on job seekers who have applied to their job postings, which they can use to further refine their recruitment strategies. This data can include information about the qualifications of job seekers, their experiences, their interests, and any other relevant information that can be used to narrow down the selection of job seekers for a particular role.

Ethics of coldMaiL

Our goal is to make the job-application process fair. Engineering is not a field in which flowery language skills are necessarily a priority, and writing cold emails can be a laborious undertaking, even for someone gifted in writing. A techie would lose out to a peer with similar competencies who knows how to catch a recruiter's attention, and we think this isn't fair. The only way to truly judge if an engineer is right for the job should be through an interview, but often competent engineers fail to make it there due to their poorer writing skills. This program is designed to make the writing process easier, freeing up engineers to focus on other aspects of their preparation, such as side projects or leetcode.

We understand that employers may not like the idea that candidates are using AI, feeling that they are now recruiting an AI instead. However, we believe that AI-augmented email writing is already the now. Google's gmail already has autocomplete features, and even code AI-powered autocomplete features through gitlab and the like. Modern engineers need to know how to use AI to augment their productivity, freeing up valuable time to focus on other creative tasks or upskilling. In the case of coldMaiL, candidates should be using the generated email as a launching board only, understanding that they still have to make modifications to the email in order to truly tell a compelling story to a recruiter. The human element should still be there, and employers should be eager to see how more competent job seekers will be in the future.

Limitations of coldMaiL

Currently, our application is developed as a monolithic service, with the frontend and backend running on the same server. Continuing with this architecture might lead to problems with scalability as the server. However, this problem is not difficult to address. Currently, our application has a clear interface between the frontend and the backend, with React.js frontend and GraphQL backend. We are able to separate these components, and have multiple instances of each of these microservices, scaling to handle the increasing load of the app

The performance of the model is also dependent on the data which the users provides. Although GPT-3 is able to create a personalised emailed targetted towards the target job description, it ultimately depends on the applicant having relevant skills and experience that matches the demands of the jobs.

We also rely heavily on the GPT-3 API to generate custom cold emails, which presents some risks. Although the GPT-3 model is maintained by a reputable company and is likely to remain stable, it is trained on a corpus up to 2021, which means it may not have the latest information and might not be aware of recent events, this could lead to the lack of relevant contextual information for the cold emails. Things like Facebook changing its name to Meta and changing its focus on metaverse might not be recognised by GPT-3 as the term “metaverse” might not appear much in the pre 2022 corpus.

What's next for coldMaiL

There are several directions that coldMaiL could take next to continue improving and expanding its capabilities:

  • Integration with job search platforms: Integrating the app with popular job search platforms like LinkedIn, Indeed, and Glassdoor could make it easier for users to find and apply for relevant job openings. This also minimises the steps required for the user, as well as provide better data for input.
  • Advanced personalization: Developing more advanced personalization algorithms that take into account the user's job history, skills, and experience could make the generated emails even more relevant and personalised.
  • Email tracking: Implementing email tracking features, such as open rates and click-through rates, could help users understand how well their emails are performing and make adjustments accordingly.
  • AI-based resume optimization: Integrating AI-based resume optimization features that could help users optimise their resumes for different job applications and industries.
  • Multi-language support: Expanding the app to support multiple languages could make it accessible to a wider audience.
  • Compliance with GDPR and other privacy regulations: Making sure that the app is compliant with GDPR and other privacy regulations and ensuring user data is kept safe.
  • User feedback and analytics: gathering feedback from users and using analytics tools to track user behaviour could help identify areas for improvement and new features to be added.

Overall, there are many ways coldMaiL can continue to innovate and evolve to better serve its users and help them in their job search.

Built With

  • gpt-3
  • graphql
  • node.js
  • prisma
  • react.js
  • redwood.js
Share this project:

Updates