AI·20K Demo Day Zine · Cohort 3 Cohort 2 Cohort 1 Vol. 2026 AI·20K Demo Day Zine Đang in số mới. . .
Đang in số ★ Cầm cốc cà phê
Đang chạy mực qua máy in — từng lớp màu một, kiên nhẫn nhé!
NextJob · AI·20K Demo Day Zine
AI·20K · Demo Day Zine / Cohort 3 / NextJob № 21
NextJob Nền tảng tuyển dụng dùng AI agent (LangGraph) gợi ý việc làm và ứng viên theo năng lực thực tế thay vì lọc từ khoá, kèm hồ sơ tái sử dụng giúp ứng viên không phải điền lại CV mỗi lần ứng tuyển.
Fig. 01 · Ảnh dự ánThành viên
TRẦN DUY KHÁNH · NGUYỄN VĂN DƯƠNG · NGÔ TRỌNG BẢO · NGUYỄN VIỆT LINH
Bình chọn
☆ Bình chọn 0 bình chọn
Bình chọn lưu một cookie để chống trùng lặp. Chi tiết .
B
Nền Tảng Tuyển Dụng Thông Minh Hai Chiều Tích Hợp AI Multi-Agent
Dự án team P-099 | Team Matikanefukukitaru
Trạng thái: Production-Ready | 324 commits | 803+ tests
1. BÀI TOÁN (PROBLEM)
1.1. Thực trạng thị trường tuyển dụng
Vấn đề Mô tả chi tiết Phân mảnh dữ liệu hồ sơ Ứng viên phải nhập liệu lặp đi lặp lại thông tin cá nhân/kinh nghiệm mỗi khi nộp đơn trên các nền tảng khác nhau Gánh nặng sàng lọc CV Nhà tuyển dụng tốn hàng chục giờ sàng lọc thủ công hàng trăm CV với cấu trúc trình bày khác nhau Hạn chế bộ lọc từ khóa truyền thống ATS cổ điển chỉ dùng Exact Keyword Matching → bỏ sót ứng viên có kỹ năng tương đương nhưng dùng thuật ngữ khác (ReactJS vs React, Golang vs Go) Thiếu tính giải thích Các mô hình ML "hộp đen" đưa ra điểm số mà không kèm lý do cụ thể Rủi ro rò rỉ PII Hồ sơ chứa CCCD, SĐT, email, địa chỉ có nguy cơ bị lộ khi gửi trực tiếp vào LLM đám mây
1.2. Tác động đo được
Thời gian sàng lọc trung bình : 30-60 phút/100 CV thủ công → có thể giảm xuống < 5 phút với AI
Tỷ lệ bỏ sót ứng viên tiềm năng : 40-60% do lọc từ khóa đơn tuyến
Chi phí tuyển dụng sai : 15-20% lương năm đầu tiên của nhân sự tuyển sai
2. GIẢI PHÁP KỸ THUẬT (TECHNICAL SOLUTION)
2.1. Kiến trúc tổng thể
┌─────────────────────────────────────────────────────────────────────────────┐
│ NEXTJOB PLATFORM │
├─────────────────────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌──────────────────┐ ┌──────────────────────────┐ │
│ │ FRONTEND │───▶│ FASTAPI BACKEND │◀──▶│ SUPABASE (Cloud) │ │
│ │ React 19 │ │ LangGraph Agents │ │ PostgreSQL + pgvector │ │
│ │ Tailwind │ │ Guardrails 3-Layer│ │ Auth + Storage + RLS │ │
│ │ TypeScript │ │ LLM Clients │ │ │ │
│ └─────────────┘ └─────────┬──────────┘ └──────────────────────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ AI AGENTS (LangGraph) │
│ ├─────────────────┬──┴──────────────────────────────┤ │
│ │ INGEST AGENT │ MATCHING AGENT │ RECOMMEND AGENT│ │
│ │ parse → clean │ retrieve → rrf │ retrieve → │ │
│ │ → extract → │ → rerank → │ kg → skill → │ │
│ │ → summarize → │ → explain → │ → rrf → │ │
│ │ → embed │ → respond │ → rerank → │ │
│ └─────────────────┴──────────────────┴───────────────┘ │
│ │ │
│ ┌─────────────────────▼───────────────────────────────┐ │
│ │ QWEN CLOUD (DashScope API) │ │
│ │ qwen3.7-flash (Chat) | qwen3.7-text-embedding │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
<div align="center">
</div>
2.2. Core Components
A. Ingest Agent Pipeline (Xử lý CV tự động) Upload CV (PDF/DOCX)
│
▼
┌───────────────┐
│ 1. PARSE │ ─── PyMuPDF4LLM + PDFPlumber fallback (CV 2 cột TopCV)
│ (Layout-aware) │
└───────┬───────┘
│
▼
┌───────────────┐
│ 2. CLEAN │ ─── Khử ký tự rác OCR, chuẩn hóa Markdown
└───────┬───────┘
│
▼
┌───────────────┐
│ 3. EXTRACT │ ─── 186 Skill Taxonomy + RapidFuzz (ngưỡng 88)
│ (Extract-First)│ ⚡ Chạy TRƯỚC summarize để bảo toàn 100% skills
└───────┬───────┘
│
▼
┌───────────────┐
│ 4. SUMMARIZE │ ─── LLM qwen3.7-flash (JSON mode)
│ (PII Redact) │ + Grounded Titles (chống bịa đặt chức danh)
└───────┬───────┘
│
▼
┌───────────────┐
│ 5. EMBED │ ─── qwen3.7-text-embedding (1536 chiều)
│ (pgvector) │ → HNSW index (m=16, ef_construction=64)
└───────────────┘
│
▼
Lưu vào embedded_resumes table
B. Hybrid Matching Engine (RRF Fusion) # Công thức Reciprocal Rank Fusion
# RRF_Score(d) = Σ w_m / (k + r_m(d)) với k=60
# Kết hợp:
# 1. Dense Vector Search (pgvector HNSW Cosine)
# 2. Sparse Keyword Search (BM25)
# 3. Skill Graph Coverage (186 skills taxonomy)
# 4. LLM/Cross-Encoder Reranking
# Final Score = α × Normalized_RRF + (1-α) × Skill_Score
# với α = 0.65
C. Two-Way Matching Chiều Luồng Mục tiêu CV → JD Recommend Agent Gợi ý việc làm phù hợp cho ứng viên JD → CV Pool Matching Agent Xếp hạng ứng viên cho nhà tuyển dụng
2.3. Security Architecture (3-Layer Guardrails) Layer 1: INPUT GUARD
├── MIME type validation (Magic bytes)
├── File size check (<= 10MB)
└── Unicode NFC normalization
Layer 2: SAFETY & DATA GATE
├── PII Redactor (SĐT, CCCD, Email, Địa chỉ)
├── Scope/Tenant Isolation (IDOR Prevention)
└── Prompt Injection Sanitizer
Layer 3: OUTPUT GUARD
├── JSON Schema Validation (Pydantic)
├── ID Whitelist Verification
└── Deterministic Fallback (khi LLM timeout)
2.4. Database Schema (Supabase PostgreSQL) -- Core Tables
profiles (id, email, role, master_profile JSONB)
companies (id, name, tax_code, is_verified)
job_posts (id, company_id, title, required_skills[], status)
resumes (id, user_id, file_url, is_default)
embedded_resumes (resume_id, embedding VECTOR(1536), skills[], clean_markdown)
job_submits (id, job_id, candidate_id, status)
match_resume (id, job_id, application_id, total_score, explanation)
match_evidence (id, match_resume_id, matched_skills[], missing_skills[])
2.5. Tech Stack Thành phần Công nghệ Version Frontend React 19 + Vite 8 + TypeScript 5.7 Tailwind CSS v4 Backend FastAPI + Pydantic v2 + Uvicorn Python 3.11+ AI/Agents LangGraph + LangChain Multi-provider (Qwen/GPT/Gemini) LLM qwen3.7-flash (DashScope) 1536-dim embeddings Database Supabase PostgreSQL + pgvector HNSW index Auth Supabase Auth (JWT HS256/RS256) RBAC 3 roles Storage Supabase Storage (Buckets) resumes, avatars Testing pytest + pytest-asyncio + ruff 803+ tests Deploy Vercel (Frontend) + Render (Backend) Docker ready
3. TÍNH KHẢ THI (FEASIBILITY)
3.1. Technical Feasibility ✅ Tiêu chí Kết quả Bằng chứng Parse Success Rate 100% (77/77 CV)Golden Dataset evaluation Skill Extraction Precision 91% 186 skills taxonomy PII Leakage Prevention 0% rò rỉ SĐT/CCCD/EmailGuardrails 3-layer Summarization Faithfulness 1.00 (100%) Grounded titles anti-hallucination Skill Preservation 100% (0 skill loss)Extract-first architecture API Response P95 < 200ms CRUD endpoints Vector Search Latency < 50ms HNSW index on 10k vectors Ingest Pipeline < 5s/CV Parse→Embed pipeline
3.2. Economic Feasibility ✅ Yếu tố Chi phí Ghi chú Supabase Cloud Miễn phí (Starter tier) PostgreSQL + pgvector + Auth + Storage Qwen DashScope Pay-per-use ~$0.001/1K tokens (flash model) Vercel Miễn phí (Hobby tier) Frontend SPA hosting Render Miễn phí (Free tier) Backend web service Tổng chi phí vận hành ~$0-50/tháng Cho MVP/startup
3.3. Operational Feasibility ✅
Team size : 4 members với phân công rõ ràng (AI Engineer, Fullstack x2, PM)
Timeline : 324 commits trong ~1 tháng (24/07 → 01/09/2026)
Documentation : Đầy đủ (README, Architecture, System Analysis, Security Report, Video Demo, Pitch Deck)
Testing : 803+ unit/integration tests với CI/CD pipeline
4. HƯỚNG PHÁT TRIỂN (DEVELOPMENT DIRECTION)
4.1. Phase 1: MVP (Hoàn thành ✅)
4.2. Phase 2: Enhancement (Ngắn hạn - 1-3 tháng) Tính năng Ưu tiên Mô tả Real-time Collaboration Cao Cho phép nhiều recruiter cùng đánh giá ứng viên Advanced Analytics Dashboard Cao Biểu đồ pipeline tuyển dụng, conversion rate Video Interview Integration Trung Tích hợp Zoom/Google Meet API Multi-language Support Trung Mở rộng tiếng Anh, tiếng Nhật Gamification Thấp Badge, progress tracking cho ứng viên
4.3. Phase 3: Scale (Trung hạn - 3-6 tháng) Tính năng Mô tả Enterprise SSO SAML/OIDC integration cho doanh nghiệp lớn API Marketplace Cho phép third-party ATS tích hợp qua REST API Skill Gap Learning Gợi ý khóa học Udemy/Coursera để lấp gap kỹ năng Salary Prediction ML model dự đoán mức lương phù hợp Diversity Analytics Theo dõi và đảm bảo diversity trong tuyển dụng
4.4. Phase 4: AI Advanced (Dài hạn - 6-12 tháng) Tính năng Mô tả Adaptive Interview Questions AI tạo câu hỏi phỏng vấn thích ứng theo phản hồi Code Challenge Evaluation Tự động chấm bài algorithm/coding challenge Personality Assessment Phân tích MBTI/Big Five traits từ writing style Market Trend Analysis Dự đoán demand kỹ năng 6-12 tháng tới Voice AI Interview Phỏng vấn qua voice chat với AI
5. METRICS & KPIs
5.1. Technical KPIs Performance:
api_latency_p95: < 200ms
vector_search_latency: < 50ms
cv_ingest_time: < 5s
matching_pipeline_time: < 3.5s (50 candidates)
Quality:
parse_success_rate: ">= 98%"
skill_extraction_precision: ">= 90%"
pii_leakage_rate: "0%"
summarization_faithfulness: ">= 95%"
test_coverage: ">= 85%"
5.2. Business KPIs User Acquisition:
dau_target: 1000 users/tháng
recruiter_conversion: ">= 10%"
candidate_cv_completion: ">= 70%"
Engagement:
avg_session_duration: "> 5 phút"
feature_adoption_rate: "> 60%"
ai_recommendation_ctr: ">= 25%"
Efficiency:
time_to_screening_reduced: ">= 60%"
recruiter_time_saved: "2 giờ/ngày"
6. DEPLOYMENT ARCHITECTURE Frontend:
Platform: Vercel
URL: https://t099.vercel.app
Region: Global CDN
Backend:
Platform: Render (Docker)
Region: Singapore (ap-southeast-1)
Health Check: /health
Database:
Platform: Supabase Cloud
Region: Southeast Asia
Tier: Pro (for production)
External Services:
LLM: Qwen Cloud (DashScope)
Auth: Supabase Auth
Storage: Supabase Storage
7. FILES CHÍNH CẦN THAM KHẢO File Mô tả README.mdTài liệu chính - hướng dẫn cài đặt & kiến trúc docs/architecture.mdSơ đồ kiến trúc chi tiết docs/SYSTEM_ANALYSIS.mdBáo cáo phân tích & thiết kế hệ thống docs/evaluation_result.mdBenchmark results trên 77 CVs backend/app/agents/ingest/graph.pyIngest Agent pipeline backend/app/agents/matching/graph.pyMatching Agent pipeline backend/app/agents/recommend/graph.pyRecommend Agent pipeline supabase/migrations/Database schema migrations render.yamlDeployment configuration
Đồ án Chuyên ngành P-099 | Team Matikanefukukitaru
AI20K Build Phase Cohort 3