Lalabase
티켓·문서·근무시간·고객대화를 한 곳에 모아 KI로 검색, 소프트웨어 기업 고객 프로젝트용, 오픈소스로 자체 서버·독일 클라우드에 배포
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기none
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗TalentRank AI is an intelligent candidate evaluation and recruitment ranking platform built for the AICON Hackathon 2026. It transforms manual, time-consuming candidate reviews into an automated, transparent, and bias-free pipeline powered by Google Gemini and MongoDB Atlas Vector Search.
GitLab Repository: https://gitlab.com/ahmed-group802741/talentrank-ai
Setup Guide: SETUP_GUIDE.md
Architectural Explainer: EXPLAIN.md
Changelog: CHANGELOG.md
All core modules, domain registries, and automated quality gates have been implemented and independently verified:
| Pipeline Gate | Target | Status | Notes |
|---|---|---|---|
| Type Integrity | npm run typecheck | ✅ PASS | 0 errors across monorepo |
| Code Style & Lint | npm run lint | ✅ PASS | 0 errors via ESLint 9 native flat configuration & TypeScript parser |
| Unit Test Suite | npm run test | ✅ PASS | 33/33 unit tests pass offline across 4 test suites |
| AI Evaluation Suite | npm run evals | ✅ PASS | 10/10 structured extraction test cases pass (100% pass rate) |
| Database Indexes | npm run db:indexes | ✅ PASS | Compound B-tree + Atlas Vector Search (768d HNSW) validated |
| Data Seeding | npm run db:seed | ✅ PASS | Idempotent candidate and telemetry seed data |
| Production Build | npm run build | ✅ PASS | Next.js 16 Turbopack production build succeeds with all routes compiled |
| Single MongoClient | Spec Rule 4 | ✅ PASS | Exactly 1 cached MongoClient instantiation in apps/web/src/lib/db.ts |
🎯 Dynamic AI Job Criteria Engine
📥 Multi-Modal Candidate Ingestion
pdf-parse. Supports resume uploads and LinkedIn's native "Save to PDF" exports (which bypass web truncation and preserve 100% of descriptions, dates, and skills).📊 Ranked Talent Leaderboard
critical (immediate interview), high, medium, and low.processed, pending, failed).🔍 Candidate Deep Dive (/items/[id])
>= 22.0.0>= 10.x# 1. Start MongoDB Atlas Local container (includes mongod + mongot vector search)
docker compose up -d
# 2. Copy and set up environment configuration
cp .env.example apps/web/.env.local
# Open apps/web/.env.local and add your GOOGLE_GENERATIVE_AI_API_KEY
# 3. Install dependencies across all workspaces
npm install
# 4. Generate compound indexes and Atlas Vector Search index definition
npm run db:indexes
# 5. Populate initial demo candidate data
npm run db:seed
# 6. Launch Next.js development server
npm run dev
Open http://localhost:3000 in your browser:
Environment variables are strictly validated at runtime using Zod in apps/web/src/lib/env.ts.
Configure apps/web/.env.local:
# Database
MONGODB_URI="mongodb://localhost:27017/aicon?directConnection=true"
MONGODB_DB="aicon"
# Better Auth
BETTER_AUTH_SECRET="aicon-hackathon-development-secret-key-32-chars-minimum"
BETTER_AUTH_URL="http://localhost:3000"
ENABLE_DEMO_LOGIN="true"
DEMO_USER_EMAIL="[email protected]"
# AI Model Keys (Get free from https://aistudio.google.com/)
GOOGLE_GENERATIVE_AI_API_KEY="your-gemini-api-key"
GOOGLE_GENERATIVE_AI_API_KEY_B=""
# Optional OpenRouter Fallback
OPENROUTER_API_KEY=""
# Chat Model: gemini-3.6-flash (recommended for fast ~2s streaming) or gemini-3.8-flash
CHAT_MODEL_ID="gemini-3.6-flash"
# Optional: LinkedIn Session Cookie for automated URL scraper
LINKEDIN_SESSION_COOKIE=""
Note on Offline Testing: The test suite (
npm run test), evals (npm run evals), and production build (npm run build) run 100% offline and key-free. You only needGOOGLE_GENERATIVE_AI_API_KEYfor live AI calls.
aicon-hackathon/
├── apps/
│ ├── web/ # Full-stack Next.js 16 product
│ │ ├── src/app/ # Next.js App Router (Turbopack)
│ │ │ ├── (marketing)/page.tsx # Public landing page with Instant Demo CTA
│ │ │ ├── (app)/dashboard/ # Talent leaderboard, KPIs, and search/filter
│ │ │ │ ├── page.tsx # Server component with real-time ranking
│ │ │ │ ├── import-candidate-button.tsx # 3-tab candidate importer (Paste, PDF, URL)
│ │ │ │ └── job-criteria-modal.tsx# Dynamic AI Job Criteria Generator
│ │ │ ├── (app)/items/[id]/page.tsx # Candidate deep-dive & embedded RAG chat
│ │ │ └── api/
│ │ │ ├── criteria/route.ts # AI rubric expansion & batch rescoring
│ │ │ ├── scrape/route.ts # PDF parsing & LinkedIn scraper route
│ │ │ ├── chat/route.ts # Streaming RAG chat route
│ │ │ └── auth/ # Better-Auth endpoints
│ │ ├── src/components/
│ │ │ ├── ai/ # Chat, CitedText, and Structured Extraction
│ │ │ ├── error-boundary.tsx # UI fault tolerance wrapper
│ │ │ └── ui/ # Tailwind v4 UI primitives
│ │ └── src/lib/
│ │ ├── ai/ # Gemini models, RAG retrieval, and prompts
│ │ ├── items/process.ts # Unified candidate evaluation & embedding pipeline
│ │ ├── models/ # Mongoose schemas (Item, JobCriteria, Chat, AiRun)
│ │ ├── domain.ts # Workforce recruiting domain configuration
│ │ └── db.ts # Single cached MongoClient connection pool
│ └── api/ # Optional Python FastAPI sidecar
├── SETUP_GUIDE.md # Step-by-step local setup instructions
├── docker-compose.yml # MongoDB Atlas Local container definition
└── package.json # Workspace root configuration
Run the automated quality gates from the repository root:
# 1. Typecheck the entire monorepo (0 TS errors)
npm run typecheck
# 2. Lint code style (ESLint 9 Flat Config + TypeScript parser)
npm run lint
# 3. Run unit tests offline (33/33 tests passing)
npm run test
# 4. Run AI extraction evals (10 offline test cases)
npm run evals
# 5. Build production Next.js 16 bundle (Turbopack)
npm run build
MongoServerSelectionError: connection closed on startupCause: MongoDB container is not running.
Fix:
docker compose up -d
npm run db:indexes
npm run db:seed
Cause: Google AI Studio free-tier rate limit reached.
Fix: Add GOOGLE_GENERATIVE_AI_API_KEY_B in .env.local. The system will automatically fail over to Key B without crashing.
Cause: LinkedIn requires authentication for profile viewing.
Fix: Use the "PDF / Resume" tab (upload LinkedIn's built-in "Save to PDF" export for 100% complete data) or the "Paste Text" tab. Both bypass all rate limits and authwalls.
Is TalentRank AI ready for Vercel?
Yes, 100%! The codebase is built with Next.js 16 App Router, Turbopack, and Vercel AI SDK v7. All routes compile statically/dynamically with 0 errors.
Vercel serverless functions cannot connect to localhost. You need a cloud-hosted MongoDB instance:
0.0.0.0/0) since Vercel uses dynamic IP addresses.mongodb+srv://<username>:<password>@cluster0.mongodb.net/aicon?retryWrites=true&w=majority
Next.jsapps/web (important for this monorepo)npm run build (or leave default next build)npm installAdd the following keys in your Vercel Project Settings $\rightarrow$ Environment Variables:
| Variable | Recommended Production Value | Description |
|---|---|---|
MONGODB_URI | mongodb+srv://... | MongoDB Atlas connection string |
MONGODB_DB | aicon | Database name |
BETTER_AUTH_SECRET | (32+ random characters) | Secret key for auth token encryption |
BETTER_AUTH_URL | https://your-project.vercel.app | Production app URL |
GOOGLE_GENERATIVE_AI_API_KEY | AIzaSy... | Gemini API key from Google AI Studio |
CHAT_MODEL_ID | gemini-3.6-flash | Gemini model for copilot RAG streaming |
ENABLE_DEMO_LOGIN | true | Allows instant guest evaluation |
DEMO_USER_EMAIL | [email protected] | Demo account identity |
Click Deploy! Once deployed, run initial indexes on your Atlas cluster if needed:
npm run db:indexes --workspace=apps/web
The repository has GitLab configured as the primary remote (gitlab):
# 1. Check current status and review modifications
git status
# 2. Stage your changes
git add .
# 3. Commit with a descriptive message
git commit -m "feat: your feature description"
# 4. Push to GitLab main branch
git push gitlab feat/domain-adaptable-layer:main
(If working directly on main: git push gitlab main)
npm run dev, press Ctrl + C.docker compose down
docker compose up -d
npm run dev
TalentRank AI is developed and submitted for the AICON Hackathon 2026 by:
💬 Context-Grounded RAG Chat
gemini-embedding-001) with automatic keyword fallback.⚡ Zero-Friction Judge Onboarding