Skip to content

Repository files navigation

TalentDrop

AI-powered deep talent matching for the English market.

Candidates and companies each complete a structured questionnaire (Career DNA / Company DNA). The platform scores compatibility across eight workplace dimensions and reveals high-match opportunities in a weekly Drop — no mass applications required.

This repository is an independent public project owned and maintained for the English-speaking market. It is not a fork of any other product line.


Why TalentDrop

Hiring still optimizes for keywords and resumes. Fit is often about how people actually work — pace, collaboration, decision style, communication, ambiguity tolerance, growth, motivation, and execution.

TalentDrop borrows the depth of intentional matching (inspired by deep-matching products like Date Drop) and applies it to recruiting:

  • Career DNA — 8 spectrum dimensions (no “right answers”) that describe how a candidate works
  • Company DNA — the same dimensions for teams/culture, with multi-respondent aggregation
  • Three-layer questionnaires — platform standard (30 Q, 60%) → role-type (15 Q, 25%) → company custom (≤5 Q, 15%)
  • Two-sided discovery — candidates get roles, companies get candidates; both accept/skip independently → mutual match
  • Weekly Drop — results revealed on a schedule with a compatibility report

Tech stack

Layer Stack
Frontend Next.js 16 + React 19 + TypeScript + Tailwind CSS v4
Backend Python 3.11+ / FastAPI + Pydantic v2
Database SQLite (aiosqlite)
AI OpenAI API (chat profiling / resume parse / match reports) + LightRAG knowledge graph (mock fallback without a key)
Packages uv (Python) / npm (Node.js)
Deploy Docker Compose

Features

  • Candidate — Career DNA questionnaire, weekly Drop, match report (radar + knowledge graph + funnel), AI chat profiling, resume upload/parse, profile management
  • Company — Company DNA questionnaire, role CRUD, weekly candidate Drop, match detail and dimension comparison
  • Matching engine — L1 hard filters → L2 DNA compatibility (see below)
  • Visualizations — force-directed knowledge graph, match funnel, dimension bars, DNA radar
  • Interactive demo/demo with sections explaining the product thesis

Core algorithm: three-stage matching pipeline

Matching runs as DNA scoring → L1 hard filter → L2 DNA compatibility.

Stage 1 — DNA profile scoring

After questionnaires, answers become an 8-dimension objective profile via three item types:

Item type Scoring Purpose
Single choice Fixed contribution maps per option → dimensions Direct preference
Ranking Borda count — rank 1 = N points … last = 1, normalized 0–100 Priority weights
Budget allocation Allocated % maps straight to dimension scores Trade-off signal

Per dimension, multi-item scores are averaged into DimensionScores (0–100 spectrum).

Consistency coefficient:

consistency = 1 - mean(per-dimension stddev) / 50

Higher self-consistency → higher confidence in the final match score.

Company-side extras:

  • Multi-respondent aggregation — role-weighted scores (e.g. HR 0.5, employees 1.0); for N≥7, drop extremes, use weighted median
  • CAS (culture authenticity score)CAS = 0.55 × internal consistency + 0.45 × HR–employee gap → Gold / Silver / Bronze

Stage 2 — L1 hard constraints

Boolean gates; fail → match score 0:

Filter Logic
Remote policy remote roles pass all candidates
Location onsite requires exact city match
Skills At least one skill overlap with role requirements

Stage 3 — L2 DNA compatibility

per dimension d:  compat_d = 1 - |candidate_d - company_d| / 100
final score:      score = mean(compat_d) × consistency × 100

Normalized Manhattan distance on the 8-D vectors, damped by answer consistency. Clamped to 0–100; higher = closer “workplace DNA.”


LightRAG knowledge layer

LightRAG (HKUDS, EMNLP 2025) is designed as Layer 0 — context understanding. It does not replace the scoring pipeline; it helps the system use unstructured text (dream-role writeups, chat logs, resumes, anonymous employee feedback).

Write path (indexing)

Questionnaire answers / resume text / AI chat / employee feedback
        ↓
    Textualize (structured → natural language)
        ↓
    LightRAG.insert()
        ↓
    Chunk → LLM entity/relation extract → knowledge graph + vectors

Query path (RAG)

User request (e.g. “generate match report” / “why this role?”)
        ↓
    LightRAG.query(question, mode="hybrid")
        ↓
    Dual retrieval:
      low-level  → vector similarity over chunks
      high-level → graph traversal over entities/relations
        ↓
    Context + LLM → grounded report / answer

With vs without LightRAG

Scenario Without (current baseline) With LightRAG
Match reports Scores → OpenAI with thin context Resume + chat + DNA retrieved into the report
Knowledge graph Hand-built from DB Auto entities/relations from unstructured text
AI chat No durable memory across turns Ongoing index; later questions use prior context
Cross-entity reasoning Limited e.g. “candidate A’s project ↔ role B’s stack”

Evolution roadmap

Phase 1 (current — cold start)
  ✅ Questionnaire + matching engine + template reports end-to-end
  ✅ OpenAI direct reports; manual graph visualization

Phase 2 (data accumulation)
  → LightRAG owns context understanding
  → Unstructured text auto-ingested into the graph
  → Reports from dual retrieval + LLM
  → Incremental updates without full rebuilds

Phase 3 (learning loop)
  → 90-day hire outcomes as Outcome nodes
  → Multi-hop: Match → led_to → Outcome → reverse success factors
  → Collaborative filtering + graph to retune weights

Dependency is declared (lightrag-hku>=1.0.0); Phase 2 can be enabled when ready.


Quick start

Requirements

  • Python 3.11+ and uv
  • Node.js 18+ and npm
  • Optional: Docker & Docker Compose
  • Optional: OpenAI API key (mock data if unset)

Local development

# 1. Clone
git clone https://github.com/Teejay-first/talentdrop.git && cd talentdrop

# 2. Backend (venv + deps)
./scripts/dev-backend.sh

# 3. Seed demo data (new terminal)
./scripts/seed-db.sh

# 4. Frontend (new terminal)
./scripts/dev-frontend.sh
  • Backend: http://localhost:8000
  • Frontend: http://localhost:3000

Docker Compose

./scripts/docker-up.sh

Optional env

export OPENAI_API_KEY="sk-..."   # AI chat / resume / reports
export JWT_SECRET="your-secret"  # default: demo-secret-key

Project layout

talentdrop/
├── backend/           # FastAPI (API / models / services / data)
├── frontend/          # Next.js (pages / components / lib)
├── scripts/           # Dev & deploy scripts
├── discuss/           # Product design notes (incl. discuss/en/)
├── nginx/             # Production reverse proxy
└── docker-compose.yml

Demo accounts

After ./scripts/seed-db.sh, password for all seeded users: demo123

Home (http://localhost:3000) has one-click demo login buttons by name.

Candidates

Name Email Profile sketch
Alex Chen alex@example.com Senior frontend, 6y, Hangzhou — fast pace / independent
Maria Santos maria@example.com Full-stack, 4y, Beijing — collaborative / mission-driven
James Wright james@example.com Backend, 8y, Shanghai — data-driven / planned
Priya Sharma priya@example.com Product engineer, 3y, Beijing — mission / team
David Kim david@example.com DevOps, 5y, Shanghai — data-driven
Sophie Zhang sophie@example.com Junior, 1y, Nanjing — generalist

Company HR

Company Email
Velocity Labs hr@velocity-labs.example.com
Meridian Financial hr@meridian-financial.example.com
Bloom Education hr@bloom-education.example.com

Expected high matches (seed validation)

Candidate Company Approx. match
Alex Chen Velocity Labs ~91%
James Wright Meridian Financial ~92%
Priya Sharma Bloom Education ~93%
Maria Santos Bloom Education ~89%

Market & ownership

This repo English-market product line (TalentDrop)
Maintainer Teejay-first
Status Independent public repository — not a GitHub fork

A related Chinese-market product line is maintained separately by partners. Codebases may share heritage; this repo is the canonical English-market source of truth going forward.


License

Public demo / open source under the repository owner’s terms. Review before commercial use; contact the maintainer for partnership or commercial licensing.

About

TalentDrop — AI-powered deep talent matching (Career DNA / Company DNA, weekly Drop). English-market edition. Independent public repo.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages