TalentBridge Lebanon
TalentBridge Lebanon
레바논 컴퓨터과학 졸업생을 위한 AI 커리어 매칭 에이전트. CV를 업로드하면 LLM 에이전트가 프로필을 파싱하고, 임베딩된 직업 코퍼스에서 의미적 유사성으로 역할을 검색하며, 각 역할에 대한 결정론적 기술 격차를 계산하고, 레바논 및 시니어리티 인지 신호로 재순위화한 뒤, 맞춤형 4주 업스킬링 플랜을 작성합니다 — 전체 과정이 ~15–20초 안에 완료됩니다.
라이브 데모: https://talent-bridge-lebanon.lovable.app
결과 (벤치마크 실행: 2026-08-20 15:51)
지표 | 값 |
평균 Precision@5 | 레이블이 지정된 CV 15개 기준 0.84 |
검색 단계 | CV당 467ms (CV 파싱 + 임베딩 + 벡터 검색) |
전체 에이전트 실행 | LLM 단계를 포함한 종단 간 ~15–20초 |
인덱스 커버리지 | 180개 중 180개 직업 임베딩됨 |
이 프로젝트를 만든 이유
레바논 CS 졸업생들은 무작정 지원합니다: 채용 게시판은 키워드 기반이고, 전이 가능한 기술을 이해하지 못하며, 왜 탈락했는지 또는 다음에 무엇을 배워야 하는지 알려주지 않습니다. TalentBridge는 측정 가능한 검색 증강 에이전트로 이 루프를 닫습니다 — 모든 순위 변경은 앱에 내장된 Precision@5 하네스로 레이블이 지정된 15개 CV 벤치마크에 대해 검증됩니다.
Related MCP server: bach-jsearch
데이터셋
180개 직업 코퍼스와 레이블이 지정된 벤치마크 CV는 AI 지원으로 생성된 합성 데이터입니다. 직업 제목, 시니어리티 수준, 기술 조합은 레바논과 주변 지역의 실제 채용 공고를 모델로 하여 분포가 실제 시장을 반영하도록 했으며, 회사 이름은 가상입니다. 데이터를 생성한 이유는 두 가지입니다: 사용할 수 있는 레바논 채용 공고의 공개 데이터셋이 없고, 벤치마크는 모든 직업에 정확한 트랙 레이블을 요구하는데 스크래핑된 공고에는 그런 레이블이 없기 때문입니다.
직접적인 한계는 결과가 깨끗하고 잘 구조화된 레코드에서 입증되었다는 점입니다. 더 지저분하고 종종 불완전한 실제 채용 공고에서의 성능은 측정되지 않았습니다.
기능
에이전트 파이프라인 —
parse_cv→search_jobs→reflect_on_results→analyze_gap→build_plan, 반성 기반 재시도를 포함한 결정론적 오케스트레이션.의미적 검색 — 180개 직업에 대한 384차원 임베딩, Postgres(
pgvector)에서의 정확한 코사인 검색.결정론적, 환각 방지 스코어링 — 일치/누락 기술과 준비도는 모델이 아닌 코드에서 데이터베이스의
required_skills로 계산됩니다. 서술형 텍스트는 정확히 그 집합에서 파생되므로 텍스트가 목록과 모순될 수 없습니다.레바논 우선 재순위화 — 최종 점수 =
0.35·semantic + 0.20·readiness + 0.25·location + 0.15·seniority + 0.05·domain, 계층화된 위치 적합도(레바논 도시 1.0 → 원격 0.95 → MENA 0.75)와 레벨 초과 페널티 적용.내장 평가 —
/eval은 레이블이 지정된 전체 CV 세트를 실행하고 평균 Precision@5와 평균 검색 지연 시간을 보고하며, 세션 로컬 실행 기록을 제공합니다.브라우저에서 PDF 파싱 —
pdfjs-dist가 클라이언트 측에서 CV 텍스트를 추출합니다; 매칭이 시작되기 전까지 아무것도 저장되지 않습니다.MCP 서버 —
/mcp는search_jobs,get_job,assess_fit,job_index_stats를 노출하여 모든 MCP 클라이언트(Claude, Cursor, …)가 코퍼스를 쿼리할 수 있습니다.다운로드 가능한 보고서 — 결과 페이지에서 화면에 표시된 것과 동일한 Markdown 보고서를 내보냅니다.
아키텍처
Browser (React 19 + TanStack Start)
│ PDF text extraction (pdfjs-dist)
▼
Server functions (createServerFn, Cloudflare Workers runtime)
├─ parse_cv LLM → profile, skills (+inferred, cited), domains
├─ years/level code → merged work periods, Intern/Junior/Mid
├─ search_jobs embed query → match_jobs_vector() over pgvector
├─ reflect_on_results LLM → topical relevance check, max 1 retry (pooled results)
├─ analyze_gap code → matched/missing skills, readiness %
├─ rerank code → weighted blend (semantic/readiness/location/seniority/domain)
└─ build_plan LLM → 4-week plan grounded in the missing skills
▼
Postgres (Supabase + pgvector): jobs, candidates, agent_runs, eval_cvs, eval_results기술 스택
계층 | 선택 |
프레임워크 | TanStack Start v1 (React 19, Vite 7, Cloudflare Workers에서 SSR) |
스타일링 | Tailwind CSS v4 + shadcn/ui |
데이터베이스 |
|
LLM | Lovable AI Gateway를 통해 제공되는 |
임베딩 |
|
에이전트 상호운용 |
|
저장소 구조
src/routes/ file-based routes: / (run agent), /results, /admin, /eval, /mcp
src/lib/agent.server.ts the agent: parsing, retrieval, gap analysis, re-ranking, planning
src/lib/agent.config.ts single source of truth for models and prompt guardrails
src/lib/skill-match.ts canonical skill normalisation + shared matched/missing logic
src/lib/eval.server.ts Precision@5 benchmark harness across the labelled CV set
src/lib/mcp/ MCP server and its four tools
supabase/migrations/ full schema: tables, RLS, grants, match_jobs_vector()
data/ exported datasets (180 jobs; 15 labelled benchmark CVs + 2 demo profiles)페이지
경로 | 용도 |
| 벤치마크 CV를 선택하거나 자신의 CV를 업로드한 후 에이전트를 실행합니다. |
| 파싱된 프로필, 매치 %가 포함된 상위 5개 매치, 매치별 격차 분석, 4주 플랜, 보고서 다운로드. 세션 전용 — 방문자는 다른 사람의 실행 결과를 볼 수 없습니다. |
| 직업 인덱스: CSV 가져오기, 임베딩 커버리지, 코퍼스 무결성 검사. |
| 레이블이 지정된 모든 CV에 대해 에이전트를 실행하고 평균 Precision@5와 평균 검색 지연 시간을 보고합니다. |
평가
정답(ground truth)은 eval_cvs.relevant_job_ids에 있습니다. 하네스는 각 CV에 대해
방문자가 사용하는 것과 정확히 동일한 파이프라인(재순위화 포함)을 실행하고
Precision@5 = |top5 ∩ relevant| / 5를 계산한 다음, CV별 검색 지연 시간과 함께
세트 전체에 대해 평균을 냅니다. 관련성은 트랙 및 호환 가능한 시니어리티로
정의되므로 순위 변경은 추측이 아닌 검증을 거칩니다.
로컬 실행
git clone https://github.com/ak8x6/talent-bridge-lebanon.git
cd talent-bridge-lebanon
bun install
bun run dev # http://localhost:8080npm을 선호하는 경우:
npm install
npm run dev # http://localhost:8080환경 변수 (.env가 필요하며, 커밋된 것은 없습니다):
VITE_SUPABASE_URL=...
VITE_SUPABASE_PUBLISHABLE_KEY=...
LOVABLE_API_KEY=... # server-side only: LLM + embedding gateway데이터베이스 설정: supabase/migrations/*.sql을 순서대로 적용하고, /admin을 통해
data/jobs.csv를 가져온 다음 Generate embeddings를 클릭합니다. 벤치마크를
활성화하려면 data/eval_cvs.csv를 eval_cvs에 로드합니다.
보안 참고 사항
클라이언트 코드에 비밀 정보 없음; 게이트웨이 키는 서버 함수 핸들러 내에서만 읽습니다.
모든 공개 테이블에 행 수준 보안과 명시적 권한 부여.
track열은 검색, UI 또는 MCP 도구를 통해 노출되지 않습니다 — 평가 레이블로만 사용됩니다.프롬프트는 이름에서 성별을 추론하는 것을 금지합니다; 생성된 모든 텍스트는 성중립적입니다.
라이선스
MIT © 2026 Ahmad Kassem — LICENSE 참조.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server that exposes job search data from multiple boards, enabling clients to query and manage job listings via natural language.7MIT

bach-jsearchofficial
AlicenseAqualityDmaintenanceMCP server for accessing Jsearch API to search jobs, get job details, and retrieve salary estimates.4MIT- AlicenseNot gradedqualityCmaintenanceMCP server for the WorkLink Partner API that enables searching live job vacancies and tenders in Syria.19MIT
Related MCP Connectors
GetJobzi MCP server for job search, application tracking, and career forecasting.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
MCP server for AI access to Swagger by SmartBear.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ak8x6/talent-bridge-lebanon'
If you have feedback or need assistance with the MCP directory API, please join our Discord server