cd /news/artificial-intelligence/resumeforge-a-privacy-first-ai-resum… Β· home β€Ί topics β€Ί artificial-intelligence β€Ί article
[ARTICLE Β· art-152023] src=dev.to β†— pub= topic=artificial-intelligence verified=true sentiment=↑ positive

ResumeForge: A Privacy-First AI Resume Analyzer Built with Local Open-Weight Models

A developer built ResumeForge, an open-source resume analysis and tailoring tool that runs entirely on local open-weight models rather than cloud APIs. The Next.js 16 app parses PDF and DOCX resumes with pdfjs-dist and mammoth, then routes inference through the OpenAI Node SDK pointed at a local Docker Model Runner instance serving Google's 4-bit quantized Gemma 3 1B (ai/gemma3:1b-q4_K_M) at roughly 1.2 GB of RAM. The developer reports that careful prompt design was needed to keep the 1B model from dropping structured fields or drifting on ambiguous instructions.

by read4 min views1 publishedOct 17, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

Every time someone applies for a job today, they are handed the same advice: "Tailor your resume to the job description." But behind that simple advice is a frustrating dilemma.

Existing commercial resume optimization tools charge $20 to $40 a month. Worse, they demand that you upload your entire professional lifeβ€”phone numbers, employment history, company names, side projects, references, and educationβ€”onto their remote servers. Once uploaded, your career data is fed through third-party proprietary APIs, stored in external databases, and often retained for downstream model training.

For developers, privacy-conscious professionals, freelancers, and students on tight budgets, this is an unacceptable trade-off.

I built ResumeForge to solve this.

ResumeForge is an AI-powered resume analysis and tailoring platform that runs 100% locally on your machine using open-weight models. No cloud AI inference. No subscriptions. Zero data leaving your computer.

.pdf or .docx) and paste any target Job Description (JD). As a side-hustle product, ResumeForge can be delivered as a packaged local-first desktop app, a self-hosted workspace for recruiting agencies, or a freemium desktop utility with premium local workflow templates.

Check out the project demo:

Landing & Auth Analysis Engine Full Audit Results

The entire codebase is open-source and ready to clone:

A privacy-first, open-weight AI tool that matches your resume to any job description β€” no cloud, no data sharing, no subscription.

Demo Screenshots

GitHub Repository: https://github.com/NegiSushant/ResumeForge

ResumeForge is architected around the premise that commodity consumer hardware is now capable of running production-grade AI analysis if prompt design, parsing pipelines, and local inference orchestration are done right.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Next.js 16                        β”‚
β”‚             App Router + Tailwind CSS                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚                        β”‚
       Upload & Parse Stream      Session & History
                β”‚                        β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ pdfjs-dist / mammoth         β”‚ β”‚ MongoDB Atlas / Local β”‚
β”‚ (Client / Server Extractors) β”‚ β”‚ (Mongoose + NextAuth) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚
         Extracted Text
                β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ OpenAI SDK (BaseURL: http://localhost:11434/v1)        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Docker Model Runner (DMR)                              β”‚
β”‚ └── ai/gemma3:1b-q4_K_M (Open-Weight Gemma 3 1B)       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Instead of piping text to remote proprietary endpoints, ResumeForge delegates inference to Google's open-weight Gemma 3 (1B) (ai/gemma3:1b-q4_K_M), quantized at 4-bit precision.

Inference is managed via Docker Model Runner (DMR). This allowed me to:

http://localhost:11434/v1 or native DMR port) with zero external setup friction.openai Node SDK inside Next.js route handlers simply by pointing baseURL to the local Docker daemon. Working with a lightweight 1-billion parameter model taught me a huge amount about constraint-driven AI engineering.

A 1B model is lightning fast and runs with a negligible memory footprint (~1.2 GB RAM), but it can easily wander or drop structured fields if given ambiguous instructions. To get deterministic, publication-grade resume evaluations out of Gemma 3 1B:

pdfjs-dist for raw text and structure parsing from PDFs, and mammoth for parsing Open innovation is not just an alternative deployment model; for an application like ResumeForge, it is the only model that aligns with user ethics and long-term viability.

Career data is intimate. Resumes reveal your identity, residential address, compensation progression, side ventures, and clearances.

When you use proprietary SaaS resume checkers powered by closed APIs, you are forced to trust a chain of third parties not to log, leak, or train on your identity. Open innovation means the model weights live on your disk, the inference executes inside your memory, and the network cable could literally be unplugged while your resume is analyzed.

Building an AI side hustle on closed APIs creates an existential vulnerability: variable marginal cost. Every time a user uploads a 4-page resume and a long JD, you pay token costs. If a user tests 20 resumes, your margins evaporate.

With open-weight models like Gemma 3 running locally or self-hosted:

A student in an emerging market or an unemployed worker should not have to pay $30/month just to understand why their resume is failing ATS filters. Open-weight models level the playing field, making world-class career analysis accessible to anyone with a modest laptop.

During development, agentic pair programming helped scaffold the Next.js 16 App Router endpoints, optimize the Docker Model Runner configurations, and iterate through prompt calibrations for Gemma 3's output parsing.

I am entering ResumeForge into the following categories:

ai/gemma3:1b-q4_K_M), pushing the limits of what a compact 1B model can achieve through calibrated system prompts and structured JSON enforcement.

── more in #artificial-intelligence 4 stories Β· sorted by recency
── more on @resumeforge 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/resumeforge-a-privac…] indexed:0 read:4min 2026-10-17 Β· β€”