Skip to content

Repository files navigation

ReclIA — Entrevistas técnicas en vivo

The Realtime Hackathon by Portal · Demo en vivo

Plataforma para hacer entrevistas técnicas de programación en tiempo real. El candidato resuelve un ejercicio en un editor de código compartido; el evaluador lo ve escribir en vivo. En paralelo, un agente de IA analiza el código en segundo plano —complejidad, riesgos de seguridad, casos borde no cubiertos— y publica sus hallazgos en un panel que solo el evaluador puede ver. El candidato nunca sabe qué está señalando la IA: se concentra únicamente en programar.

Cómo usar Portal

Portal es la columna vertebral del producto, no un agregado. Sincroniza tres actores independientes (candidato, evaluador y el agente de IA) mediante canales separados por audiencia, más presencia en vivo:

Canal de Portal Quién escribe Quién lee Para qué
interview:{roomId} candidato y evaluador ambos código del editor en tiempo real
analysis:{roomId} el agente de IA solo el evaluador complejidad, riesgos, edge cases, Q&A, reporte final
chat:{roomId} candidato y evaluador ambos chat de texto de la sala
cursor:{roomId} el candidato el evaluador posición del cursor en vivo (radar de atención)

La asimetría entre interview y analysis es lo que hace posible el producto: sin canales separados por audiencia no habría forma simple de mantener sincronizados en tiempo real a dos personas con visibilidad distinta de la misma información. Portal también resuelve la presencia (quién está conectado a la sala) sin código adicional.

El agente de IA

Un LLM (Gemini) recibe el código cada vez que el candidato deja de teclear un momento, y devuelve un análisis estructurado: complejidad estimada, riesgos de seguridad concretos y casos borde no cubiertos — cada hallazgo con la línea exacta donde ocurre, clickeable para saltar ahí en el editor. El evaluador puede además preguntarle algo puntual al agente sobre el código, y pedir un reporte final al cerrar la entrevista (nota + fortalezas + riesgos + recomendaciones, redactado en lenguaje simple para que lo pueda leer alguien sin conocimientos de programación).

Stack

  • Next.js 15 (App Router) + TypeScript, desplegado en Vercel.
  • Monaco Editor para el editor de código.
  • Portal (@portalsdk/core + @portalsdk/react) para todo el tiempo real.
  • Gemini (vía su endpoint compatible con OpenAI) para el análisis de IA.

Correrlo localmente

npm install
cp .env.local.example .env.local   # PowerShell: Copy-Item .env.local.example .env.local
# edita .env.local con tus keys reales (ver tabla abajo)
npm run dev

Abre http://localhost:3000. Prueba con dos pestañas: una en /room/demo (candidato) y otra en /room/demo?role=evaluador (evaluador) — o usa el botón "Crear sala nueva" del landing.

Variables de entorno

Variable Qué es Obligatoria
NEXT_PUBLIC_PORTAL_API_KEY Publishable key de Portal (pk_..., desde useportal.co)
GEMINI_API_KEY Key de Gemini (desde aistudio.google.com/apikey)
GEMINI_MODEL gemini-3.1-flash-lite
PORTAL_SECRET_KEY Secret key de Portal — permite que el servidor publique el análisis directo No

Alcance

Un solo lenguaje (JavaScript), roles hardcodeados (candidato/evaluador, sin autenticación real), sin análisis estático de código (linters/AST) y sin grabación de sesión — el foco está en la interacción en tiempo real entre personas y agente sobre Portal, no en construir un IDE completo.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages