Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Postulaciones y gestión humana con apoyo de IA
Translation pending
BusinessTypeScript · PLpgSQLGitHub @carlossteOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
App de selección de personal con IA
Translation pending
Loading the full README.
Read the full README ↗App web para que el área de gestión humana de una empresa filtre postulantes más rápido. La IA revisa la hoja de vida contra los requisitos mínimos, puntúa las respuestas de cada etapa según una rúbrica y resalta fortalezas y puntos a profundizar. La decisión de quién pasa siempre la toma una persona.
Proyecto académico, Ingeniería de Sistemas, UCC Cali (2026).
App en línea: https://app-seleccion-mu.vercel.app
Ingresar con la cuenta de prueba:
| Correo | Contraseña |
|---|---|
[email protected] | 1234567890_Mn |
En Vacantes aparece la vacante Auxiliar de Enfermería, ya publicada y con 13 postulantes registrados.
Los postulantes son ficticios y se pensaron para ver cómo ordena y descarta la app:
Los postulantes aparecen sin evaluar: el análisis con IA se pide con un botón para no gastar consultas a la API sin necesidad.
MEDPRUEBA01 a MEDPRUEBA12. Por ejemplo, MEDPRUEBA01 / MEDPRUEBA01.No hace falta cerrar la sesión de la empresa para entrar como postulante: las dos sesiones están separadas (ver "Dos sesiones separadas" más abajo).
Empresa (gestión humana) Postulante
│ │
└──────────────┬──────────────┘
▼
App Next.js publicada en Vercel
(las páginas y la lógica del servidor)
│ │
▼ ▼
Supabase Gemini API
· base de datos · propone requisitos
· cuentas de usuario · genera preguntas
· PDF de las hojas de vida · revisa la hoja de vida
· puntúa las respuestas
| Sesión de empresa | Sesión de postulante | |
|---|---|---|
| Quién | Gestión humana | La persona que se postula |
| Cómo entra | Correo y contraseña en /empresa/ingreso | Número de documento como ID y como contraseña, desde el link de la vacante |
| Qué páginas usa | El panel, /gestion | Solo las de /postular |
Cada sesión se guarda en una cookie distinta. Por eso se pueden tener las dos abiertas en el mismo navegador sin que una cierre o reemplace a la otra, y un postulante nunca termina en el panel de la empresa.
La IA está en lib/ia/gemini.ts y se usa en cinco puntos:
| Dónde | Qué hace la IA | Quién decide |
|---|---|---|
| Crear vacante | Propone de 4 a 6 requisitos mínimos según el cargo | La empresa los edita |
| Descripción | Redacta la descripción pública de la empresa | La empresa la edita |
| Etapas | Genera preguntas para cada etapa | La empresa las edita o escribe las suyas |
| Hoja de vida | Lee el PDF y compara cada requisito con el mínimo pedido | Descarta sola solo si claramente no cumple |
| Respuestas | Puntúa cada etapa con la rúbrica y cita la evidencia | Una persona decide si pasa |
La IA no responde con un texto libre: responde con datos de forma fija, por ejemplo {"puntaje": 85, "evidencia": "Pregunta 2 · describe pasos ordenados"}. Así la app puede guardar y mostrar puntajes y veredictos sin tener que interpretar un párrafo, y el servidor revisa que cada dato sea válido antes de guardarlo.
El PDF se envía a Gemini junto con los requisitos mínimos. Para cada requisito, la IA responde "cumple", "no cumple" o "no se sabe", con una frase de evidencia. Si falta un dato, nunca se supone que no cumple: la persona queda "por revisar" y decide gestión humana.
Cada vacante tiene una rúbrica: una lista de criterios (por ejemplo, conocimiento técnico o comunicación clara), cada uno con un peso en porcentaje. Se edita en la pestaña Rúbrica.
La IA califica cada criterio de 0 a 100, siempre con las mismas bandas:
| Puntaje | Qué significa |
|---|---|
| 90 a 100 | Respuesta completa, correcta y con ejemplos concretos |
| 70 a 89 | Correcta, pero general o con algún vacío |
| 50 a 69 | Incompleta o superficial |
| Menos de 50 | Incorrecta, evasiva o sin contenido |
Si las respuestas no dan evidencia para un criterio, ese criterio no se califica, para que la falta de un dato no reste.
El puntaje de la etapa lo calcula la app, no la IA: es el promedio de los criterios según sus pesos.
El puntaje total es el promedio de las etapas.
Se califica con temperatura 0, que hace que el modelo responda de la forma más estable posible: dos respuestas iguales reciben el mismo puntaje.
La IA no corre sola cada vez que llega una postulación: se activa con "Evaluar con IA" o con "Analizar todos".
La app intenta primero con gemini-3.1-flash-lite. Si Google responde que está saturado o tarda demasiado, reintenta y pasa a gemini-3.5-flash-lite y, como último recurso, a gemini-2.5-flash. Los tres son modelos de Gemini con la misma clave. Cada llamada tiene tiempo límite, para dar un mensaje claro en lugar de quedarse colgada.
Todas las instrucciones llevan una regla fija que prohíbe criterios de edad máxima, género, estado civil, acento, tono de voz o rasgos personales. Además, los requisitos que propone la IA pasan por un filtro que elimina los que mencionen salud, apariencia, religión u otros datos sensibles, y siempre se agrega "Mayor de 18 años".
Vercel
main pasa a producción.Supabase
Gemini API
Next.js 16 + TypeScript
No. La app está publicada en https://app-seleccion-mu.vercel.app, con la base de datos y la IA ya conectadas. Para revisarla basta con entrar con las cuentas de prueba de la sección "Cómo probarla".
Correrla en otra computadora no es necesario y sería más largo: además del código, hace falta crear un proyecto propio en Supabase con toda la base de datos y sacar una clave de Gemini, porque las claves del proyecto no se suben al repositorio por seguridad.