Resume Skill Match
MindHatch: Bridge the Gap Between Talent and Roles >MindHatch is an intelligent resume-matching engine designed to automate skill gap analysis. By combining OCR technology with vector embeddings, the platform parses multi-format documents (PDF, DocX) to extract and match candidate skills with high precision. It features a sleek, responsive dashboard and robust data handling via TanStack Query and Upstash Redis.
Detailed Scope Specifications
1. System Architecture
- Architecture Pattern: Modern Monolith with Next.js App Router.
- Runtime: Node.js 20+ / Edge Runtime support.
- Concurrency Handling: Utilizes Upstash QStash for background task orchestration and Redis for state caching.
- Type Safety: End-to-end type safety with TypeScript and Zod schema validation.
2. Feature Specifications
A. Multi-Format Document Processing
- Engines:
- PDF: Text layer extraction via pdf-parse.
- Word (DocX): Native XML parsing via mammoth to preserve document structure.
- Images: Optical Character Recognition (OCR) powered by Tesseract.js for PNG/JPG resumes.
- Excel: Data extraction via exceljs.
- Pipeline: Automatic file type detection → Buffer stream processing → Raw text normalization.
B. AI-Driven Analysis Engine
- On-Device Embeddings: Uses @xenova/transformers to run feature-extraction models locally in the browser/server environment. This allows for semantic similarity matching without external API costs (OpenAI-free).
- Skill Taxonomy: A proprietary skill-taxonomy.ts library that handles:
- Alias Matching: Normalizes variations (e.g., "React.js", "ReactJS", "React" all map to "React").
- Canonical Mapping: Categorizes extracted signals into standard industry skill sets.
- Scoring Logic:
- Technical Score: Ratio of matched skills vs. job requirements.
- Semantic Score: Vector distance between the resume embedding and the job description embedding.
- Experience Score: Regex-based extraction of "Years of Experience" signals.
C. Dynamic Recruitment Intelligence
- Readiness Assessment: Categorizes candidates into Ready, Review, or Watchlist based on a weighted composite score.
- Gap Analysis: Automatically identifies the "Top Gap" (most critical missing skill) based on the target role.
- Automated Interview Planning: Generates contextual interview questions based on the candidate's specific skill overlaps and deficiencies.
- Audit Trail: A transparent log of the analysis steps (e.g., "Normalized 15 skill signals," "Computed embedding similarity").
D. UI/UX & Data Visualization
- Interactive Dashboard: Real-time feedback using Zustand for state management (via ui-store.ts).
- Visual Analytics: Radar/Bar charts powered by Recharts to visualize Technical vs. Experience vs. Semantic scores.
- Accessibility: Accessible UI components built on Radix UI primitives and Tailwind CSS 4.0.
3. Security & Infrastructure
- Authentication: NextAuth.js v5 with Role-Based Access Control (RBAC) implemented in rbac.ts.
- Database: Prisma ORM with a focus on relational integrity; easily switchable between SQLite (dev) and PostgreSQL/MySQL (prod).
- Environment Validation: Strict environment variable checking via env.ts to prevent runtime failures.
- Observability: Integrated Sentry for error tracking and performance monitoring.
4. Technical Performance
- Zero-API Embeddings: By using Xenova, the system generates embeddings locally, ensuring data privacy and $0 inference costs.
- Optimized Styling: Tailwind 4.0 "Engine-First" approach for minimal CSS bundle sizes and ultra-fast builds.
- Post-processing: Uses bcryptjs for secure password storage and zod for 100% reliable API payload validation.
Module Stack
Next.js 16TypeScriptReact 19PrismaSQLiteNextAuth.js(v5 Beta)Upstash RedisTailwind CSSRadix UIZustandTanStackImageKitSentryZod
Timestamp
Released: May 2026