JobMatch AI:在 2 秒內由客戶 RFP 生成高勝算提案,協助自由工作者補足技能差距
Closing the Freelance Skill Gap: From Client RFP to Winning Proposal in 2 Seconds
JobMatch AI 以 Google Gemma 4 31B 分析自由工作者履歷與客戶職位描述,並在 2 秒內提供配對評分、技能差距診斷及度身訂造的提案。它提供 0–100 配對分數和三項具體改善建議,亦可透過本機 Ollama 免費推理,token 成本為 $0.00。
*This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
JobMatch AI is an intelligent freelance gig and job matching platform that turns the tedious freelance job hunt into an unfair competitive advantage.
The Problem It Solves
Freelancers and side hustlers on platforms like Upwork, Fiverr, and Contra spend 30–45 minutes customizing bids for every individual client posting. Applying with generic proposals yields a sub-5% interview rate, while manually tailoring resumes, identifying missing requirements, and writing consultative proposals burns hours of unpaid time.
What JobMatch AI Does (In Under 2 Seconds)
- 0–100 Match Calibration: Evaluates candidate resumes or profiles against client job descriptions and provides a transparent, calibrated match score with 1–2 sentences of concise justification.
- Skill Gap Diagnostics: Instantly extracts verified matched skills vs. missing client requirements.
- 3 Concrete Actionable Fixes: Generates three distinct, actionable suggestions to bridge gaps, improve positioning, or adjust the resume before submitting.
- Tailored Proposal Generator: Drafts high-converting, personalized freelance proposals in the candidate’s chosen persona (Persuasive Freelancer, Technical & Analytical, or Consultative Partner).
-
Save & Compare Leaderboard (
/saved): Allows freelancers to save multiple job postings to an interactive leaderboard, ranking them by match score so they only bid on the gigs they are mathematically most likely to win. - 10-Second Judge Quick Try: One-click demo scenarios on the home screen to test full-stack developer and AI engineer scenarios with a single click.
Who Would Pay For It?
- Active Freelancers & Agencies: Bidding on 10–30 client RFPs weekly. Saving 20 hours a month on proposal writing easily justifies a $9–$19/month subscription.
- Side-Hustle Tech Seekers: Developers looking to monetize spare weekend hours by instantly finding client gigs that fit their exact stack without wading through thousands of listings.
Demo
- Live Deployed App: https://job-match-v7ul.vercel.app (Replace with your live Vercel URL)
- GitHub Repository: https://github.com/Dhiraj201226/Job-Match
Step 1: The Command Center & 10-Second Quick Try
The landing screen offers instant exploration. Judges and users can upload their own resume (PDF or pasted text) or click one of the 10-Second Judge Quick Try scenarios (Full-Stack React & Node MVP or Senior AI Application Engineer) to populate real-world candidate and RFP data with a single click.
Step 2: 0–100 Match Calibration & Skill Diagnostics
Once you click "Analyze Match & Write Proposal", Google Gemma 4 decomposes both documents, returning structured diagnostics in ~1.4 seconds:

- Calibrated Match Fit: An objective 0–100 score (e.g., 82% Match Fit) with win probability classification.
- Executive Justification: 1–2 sentences explaining why the candidate received the score based on tech stack alignment and experience.
- Matched Skills Tags (Green): Verified skills satisfying client deliverables (e.g. React 19, TypeScript, Node.js, RESTful APIs).
Step 3: 3 Concrete Things to Fix & Tailored Proposal Generator
Rather than leaving candidates wondering how to improve, JobMatch AI provides three prioritized action items followed by a client-tailored proposal:

- 1. Concrete Resume Tweaks: Actionable bullets telling the candidate exactly what keywords or projects to add to pass screening filters.
- 2. Project Alignment: Suggestions on how to frame past project metrics to match the client's problem.
Step 4: Opportunity Ranking & Compare Leaderboard (/saved)
Freelancers shouldn't bid blindly. The Opportunity Ranking System allows candidates to save multiple client RFPs into a ranked pipeline:

- Aggregates portfolio metrics: Total Saved, Top Match (e.g., 94%), Average Score, and Top Category.
Step 5: Transparent Side Hustle Economics
Unit economics make or break a side hustle. JobMatch AI features a transparent freemium pricing structure:

- Unlimited Free Local Mode: 100% on-device inference via local Ollama with zero token cost ($0.00).
Code
JobMatch AI — Freelance Gig & Job Matcher
DEV Hacktoberfest Open-Source AI Challenge · Week 2 "Side Hustle"
Powered by Google's open-weight model: Gemma 4 31B
JobMatch AI turns the tedious freelance job hunt into an unfair competitive advantage. Built around Google Gemma 4, it analyzes candidate resumes against job descriptions or freelance gig postings, calculates a precise match score (0–100), pinpoints missing skills, provides 3 concrete actionable fixes, and crafts tailored, high-converting proposals in the candidate's chosen tone.
📸 Product Demo & Walkthrough
Key Features
- Match Score & Reasoning: 0–100 match calibration with concise justification explaining fit.
- Skill Gap Diagnostics: Real-time extraction of matched skills vs. missing requirements.
- 3 Concrete Things to Fix: Actionable recommendations to bridge gaps before submitting.
- Tailored Proposal Generator: Custom-tailored Upwork/freelance proposal written in your persona (e.g. Persuasive Freelancer, Technical, Consultative).
- Save & Compare Ranking List: Save multiple gigs to a ranked leaderboard (…
The repository is organized into a clean full-stack architecture:
-
frontend/: React 19 + Vite + Tailwind CSS with client-side PDF parsing and interactive Radar diagnostics. -
frontend/lib/llm.js: Core open-model provider module handling prompt construction, schema validation, and retry mechanics. -
api/&frontend/api/: Vercel serverless edge functions (/api/analyzeand/api/status) with zero cold-starts and 24/7 uptime. -
frontend/test/llm.test.js: Automated unit test suite verifying structured JSON parsing, error recovery, and provider switching (8/8 tests passing).
How I Built It
JobMatch AI is built around Google's flagship open-weight model: Google Gemma 4 31B.
Architecture & Dual-Execution Engine
To ensure both lightning-fast public evaluation and zero-data-leak privacy, JobMatch AI features a single provider layer (frontend/lib/llm.js) supporting two switchable modes:
-
Cloud Mode (
gemma4:31b-cloud):- Deployed on Vercel's global edge network.
- Routes inference securely via serverless backend functions to Ollama Cloud.
- Evaluates complex 1,500+ token resumes and client RFPs in ~1.4 seconds.
- API keys are protected exclusively on the serverless backend (never exposed to the browser).
-
Local Mode (
gemma4onlocalhost:11434):- 100% On-Device & Zero Data Leaks.
- All candidate data stays locally on your laptop without touching the internet.
- Automatically detects installed local Ollama models (
gemma4:12b,qwen2.5:1.5b, etc.).
Robust JSON Schema Enforcement & Self-Correction
Small and mid-sized open models can occasionally produce conversational preamble or markdown code blocks. To guarantee 100% production reliability:
- A custom extraction utility (
extractJSON) cleans code fences and trailing commas. - A validator verifies schema keys (
match_score,score_reason,matched_skills,missing_skills, 3fixes, andcover_letter). - If validation fails, an automated one-time self-correction retry sends the exact validation error back to Gemma 4 to correct itself before rendering.
Why Does Open Innovation Matter?
In high-volume job seeking and freelance bidding, the model architecture is not an implementation detail — open models are what make this product economically and ethically viable:
1. Cost Per Match vs. The Proprietary API Tax
Commercial closed models (like GPT-4) charge recurring per-token fees for input context and output generation. A thorough evaluation requires sending a full candidate resume (~1,200 tokens) alongside a lengthy client RFP (~1,000 tokens), plus generating a structured proposal (~800 tokens). At scale, proprietary API fees destroy side-hustle unit economics.
With Gemma 4: In Local mode, the cost per match is $0.00. In Cloud mode, open weights allow deployment on cost-effective infrastructure with predictable unit economics.
2. Radical Candidate Data Privacy
Resumes contain highly confidential personal identifiable information: full legal names, contact details, employer history, salary markers, and proprietary project details.
With closed APIs, that data is transmitted to third-party proprietary servers. With Gemma 4's open weights, candidates can run evaluations completely on-device on their own hardware—guaranteeing 100% confidentiality.
3. Freedom from Vendor Lock-In & Portability
Proprietary models are black boxes subject to sudden deprecation, aggressive rate limiting, and unannounced behavioral shifts. Gemma 4's open weights allow developers to:
- Quantize the model (GGUF 4-bit) for edge laptops.
- Deploy dense 31B parameters on dedicated serverless clusters for maximum reasoning.
- Fine-tune on winning freelance proposal corpora without third-party licensing restrictions.
Author: @Dhiraj201226
來源:DEV Community · dev.to
