<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Maaz Khan</title>
    <description>The latest articles on DEV Community by Maaz Khan (@maazkhanxo).</description>
    <link>https://dev.to/maazkhanxo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3979385%2Ff81b930f-27f7-4093-8cc9-c162377a73e9.png</url>
      <title>DEV Community: Maaz Khan</title>
      <link>https://dev.to/maazkhanxo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/maazkhanxo"/>
    <language>en</language>
    <item>
      <title>I Was Tired of Applying to 100+ Jobs Manually. So I Built an AI to Do It for Me.</title>
      <dc:creator>Maaz Khan</dc:creator>
      <pubDate>Thu, 11 Jun 2026 11:27:59 +0000</pubDate>
      <link>https://dev.to/maazkhanxo/i-was-tired-of-applying-to-100-jobs-manually-so-i-built-an-ai-to-do-it-for-me-2pmi</link>
      <guid>https://dev.to/maazkhanxo/i-was-tired-of-applying-to-100-jobs-manually-so-i-built-an-ai-to-do-it-for-me-2pmi</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpaekrcwhzc7qgyybbpe5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpaekrcwhzc7qgyybbpe5.png" alt="JobEasyApply SaaS dashboard showing automated job applications count, success rates, and matching score charts" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The job hunt in 2026 is broken. &lt;/p&gt;

&lt;p&gt;You spend hours editing your resume, searching through LinkedIn, and filling out the exact same form fields over and over again. And then comes the worst part: writing custom paragraphs answering &lt;em&gt;"Why should we hire you?"&lt;/em&gt; or &lt;em&gt;"Describe your experience with React"&lt;/em&gt; for the 50th time.&lt;/p&gt;

&lt;p&gt;Only to get ghosted. &lt;/p&gt;

&lt;p&gt;As a developer, I couldn't stand the repetition anymore. We automate deployments, tests, and code reviews—so why are we still applying to jobs like it's 2010?&lt;/p&gt;

&lt;p&gt;I decided to build an automated solution: &lt;strong&gt;JobEasyApply&lt;/strong&gt;. Here is how it works and the tech stack behind it.&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️ The Tech Stack
&lt;/h3&gt;

&lt;p&gt;I wanted the tool to be fast, secure, and run in the background without needing my browser window to remain open. Here is what I chose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React &amp;amp; Next.js for a sleek, responsive dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chrome Extension&lt;/strong&gt;: Vanilla JavaScript to securely sync session cookies (like &lt;code&gt;li_at&lt;/code&gt; for LinkedIn) to the server so the backend can apply on the user's behalf.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend Workers&lt;/strong&gt;: Python Celery tasks running on a background server to handle job crawling, resume parsing, and auto-filling questionnaires.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Engine&lt;/strong&gt;: Groq / NVIDIA LLMs to read the form questions and match them with the user's resume content to write custom, high-scoring responses.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ⚙️ How It Works (Under the Hood)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Resume Parsing &amp;amp; Scoring
&lt;/h4&gt;

&lt;p&gt;When a user uploads a resume, the backend extracts their core skills, years of experience, and achievements. When the crawler finds a job listing, the AI reads the job description and generates a &lt;strong&gt;compatibility score&lt;/strong&gt;. If the score is high, it gets queued.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. The Auto-Apply Automation
&lt;/h4&gt;

&lt;p&gt;Instead of running a heavy headless browser like Puppeteer for hours on my local machine (which burns CPU), we use a Chrome Extension to sync session cookies. &lt;/p&gt;

&lt;p&gt;This lets our backend worker do the heavy lifting in the cloud. It simulates the application network requests directly, injecting custom, AI-generated answers for the employer's screening questions based on the candidate's actual resume.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
javascript
// A peak into how our frontend wizard coordinates the steps:
const STEPS = [
  { key: "resume", icon: "📄", title: "Upload Your Resume" },
  { key: "linkedin", icon: "🔗", title: "Connect LinkedIn" },
  { key: "preferences", icon: "🎯", title: "Job Preferences" },
  { key: "groq", icon: "🤖", title: "AI API Key" },
];

![ ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sog630n81ny0dnesed8t.png)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>career</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
