Manejo de curriculums y talento RRHH apoyado con IA
Find a file
2026-06-10 18:42:11 -04:00
.agents feat(harness): setup recruitment-plugin harness configuration 2026-06-09 09:26:46 -04:00
app fix(parse-cv): polyfill DOMMatrix and dynamically import pdf-parse 2026-06-10 18:39:35 -04:00
components feat(security): global password lock gate with 24h session auto logoff 2026-06-10 17:36:49 -04:00
docs docs: add detailed supabase and n8n setup guide 2026-06-10 18:17:06 -04:00
lib feat: decouple ai profiling and add manual evaluation 2026-06-09 20:33:27 -04:00
public feat: implement n8n-kickstart automation and Next.js PDF parsing route 2026-06-08 19:20:22 -04:00
scripts feat(interviews): clickable comment collapse, markdown tables, n8n prompt refactor 2026-06-10 17:26:39 -04:00
supabase/migrations feat(interviews): implement 3-pane layout, pinning, and comment timeline 2026-06-10 16:44:40 -04:00
test-assets test(webhook): add bulk test support and extra test assets 2026-06-10 13:45:41 -04:00
.env.example feat: use integrated LLM chain and Supabase nodes with modern API key structure 2026-06-08 20:08:10 -04:00
.gitignore feat: scale up candidate evaluation and promotion 2026-06-10 08:51:29 -04:00
AGENTS.md feat(harness): setup recruitment-plugin harness configuration 2026-06-09 09:26:46 -04:00
eslint.config.mjs feat(foundations): init schema frontend components and quality gates 2026-06-09 08:58:45 -04:00
next.config.ts chore(config): add outputFileTracingIncludes for pdf.worker.mjs 2026-06-10 18:42:11 -04:00
package-lock.json feat(interviews): clickable comment collapse, markdown tables, n8n prompt refactor 2026-06-10 17:26:39 -04:00
package.json feat(interviews): clickable comment collapse, markdown tables, n8n prompt refactor 2026-06-10 17:26:39 -04:00
postcss.config.mjs feat: implement n8n-kickstart automation and Next.js PDF parsing route 2026-06-08 19:20:22 -04:00
README.md feat(security): global password lock gate with 24h session auto logoff 2026-06-10 17:36:49 -04:00
tailwind.config.ts feat(theme): add dark mode & move language toggle 2026-06-10 14:26:50 -04:00
tsconfig.json feat: implement n8n-kickstart automation and Next.js PDF parsing route 2026-06-08 19:20:22 -04:00
types.d.ts feat(foundations): init schema frontend components and quality gates 2026-06-09 08:58:45 -04:00

Semillero AI Recruitment Platform (ATS)

A modern Applicant Tracking System (ATS) built with Next.js App Router, Tailwind CSS, Supabase, pgvector, Google Gemini, and n8n automation. It parses PDF resumes, ranks candidates with semantic vector similarity search, and manages candidate pipelines with real-time comments, pinning, and n8n-powered next-step AI suggestions.


🔒 Security & Access Control

The application is protected by a global secure access gate at startup.

  • Security Lock Screen: Any access to the platform redirects to a bilingual lock screen requiring a password.
  • Encrypted Transmission: The password is submitted encrypted over HTTPS to a secure server-side endpoint /api/auth.
  • Environment Configuration: Store your password in the .env file under APP_PASSWORD.
  • Default Fallback: If no APP_PASSWORD env variable is set, the system defaults to:
    Semillero2026!
    
  • Auto Logoff: Sessions are tracked via a secure timestamp. Users are automatically logged off and returned to the lock screen after 24 hours (1 day) of inactivity.

🛠️ Setup & Environment Configuration

Create a .env file at the root of the project with the following variables:

# Database Credentials
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SECRET_KEY=your_supabase_service_role_key

# Security Access Lock
APP_PASSWORD=Semillero2026!

# LLM Core API Key
GEMINI_API_KEY=your_gemini_api_key

# n8n Automation Engine Settings
N8N_HOST=https://n8n.yourdomain.com
N8N_API_KEY=your_n8n_api_key
NEXT_PUBLIC_N8N_WEBHOOK_URL=https://n8n.yourdomain.com/webhook/evaluate-candidate

🚀 Installation & Running

1. Install Dependencies

npm install

2. Run Development Server

npm run dev

3. Production Build & Verification

npm run build
npm run lint

4. Deploy n8n Workflow

To deploy or update the recruitment workflows inside your n8n workspace, run:

npx ts-node -O '{"module": "commonjs"}' scripts/deploy-n8n-v2.ts --fallback --fallback-provider=gemini

📋 Interactive Demo Script (Presentation Walkthrough)

Follow these steps to demonstrate the end-to-end capabilities during your presentation:

Step 1: Secure Login & Startup

  1. Open the application. You will be greeted by the Secure Access Lock Screen.
  2. Select your preferred language (English or Spanish) and toggle between Light/Dark Mode using the top-right controls.
  3. Enter the password Semillero2026! and click Unlock.

Step 2: Define a Job Vacancy

  1. Navigate to the Vacancies (Vacantes) tab.
  2. Click Create Vacancy. Enter a Title (e.g. Senior Frontend Engineer) and requirements.
  3. Observe the newly created card appear in the vacancy sidebar.

Step 3: Ingest Candidate CVs (RAG parsing)

  1. Select the newly created vacancy.
  2. Drag and drop or upload a candidate CV in PDF format.
  3. The system parses the PDF, generates a text vector embedding, inserts the candidate record, and automatically creates an initial Screening interview.

Step 4: Run AI Suitability Match

  1. Click Run AI Evaluation on the candidate.
  2. Observe the suitabilty score (0-100), risk level (Low, Medium, High), classification, and a concise 3-sentence summary generated by Gemini.
  3. Check the A-Z list of candidates in the Candidates (Candidatos) tab to see the details, linked vacancies, and duplicate file warnings if you re-upload the same PDF.

Step 5: Pipeline Interview Management

  1. Go to the Interviews (Entrevistas) tab.
  2. Observe the Open Positions sidebar showing positions and candidate counts.
  3. Click on a candidate. Watch the Open Positions sidebar slide out of view with a smooth CSS transition, and the Candidate List + Detail Pane expand to fill the open space.
  4. Toggle the Pin button next to the candidate's name to move them to the top of the list.

Step 6: Interactive Timestamps & AI next steps

  1. Click Get AI Suggestion inside the candidate's interview detail pane.
  2. An n8n webhook will query Gemini and append a concise markdown list of recommended next steps as a comment in the timeline.
  3. Try clicking on any comment card. Observe it collapse/uncollapse with a chevron icon transition.
  4. Modify the interview Stage dropdown. The stage updates instantly in the database with a timestamp log in the comment timeline.
  5. Click Back to All Interviews in the top navigation. Watch the Open Positions sidebar animate back into view.