Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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