WEBAPP RECRUITMENT
Esta webapp es un portal bilingüe de captación de talento freelance. Su objetivo es presentar las oportunidades abiertas, explicar con claridad cada colaboración y recoger candidaturas de una forma sencilla y segura. El producto se ha planteado como una aplicación web ligera: las ofertas se sirven de forma estática, mientras que las candidaturas pasan por una capa de servidor antes de llegar al sistema privado de almacenamiento.
Experiencia de usuario
La interfaz se ha diseñado para ofrecer una navegación ágil y accesible en dos idiomas:
Página de inicio con ofertas en cuadrícula adaptable a móviles y escritorio.
Lectura estructurada en dos columnas: 70% para el detalle del puesto, 30% para resumen y CTA.
Bilingüismo completo (español e inglés) con selector de estado claro y URLs persistentes.
Formulario en dos pasos ('Tu perfil' y 'Tu trabajo') para reducir la carga cognitiva.
Arquitectura técnica
La solución separa la experiencia pública, el tratamiento de los envíos y el almacenamiento final:
background.js
Service Worker
- ▹webRequest API
- ▹HTTP headers
- ▹Set-Cookie arrays
- ▹Server IP
content.js
DOM Context
- ▹DOM analysis
- ▹meta tags parsing
- ▹script URLs
- ▹CSS links
detector-injected.js
Main World
- ▹window.* globals
- ▹React/Vue versions
- ▹jQuery detection
- ▹GSAP versions
popup.js / popup.html
UI + UX Presentation Layer
Consolida, procesa y visualiza los datos extraídos de los tres vectores (Headers, DOM, Window Globals) en tiempo real para el usuario final.
Frontend React
SPA construida con React, TypeScript y Vite. Navegación basada en hash para evitar dependencia de un servidor de renderizado. El contenido se versiona en Markdown.
Backend Serverless
El navegador nunca expone credenciales. La función en Vercel valida el payload y solo envía los datos a la integración privada cuando cumplen los estrictos requisitos de seguridad.
Flujo de candidatura y seguridad
Se implementaron defensas exhaustivas contra la automatización abusiva y se protegió la privacidad desde el diseño:
reCAPTCHA v3 y honeypots para identificar y rechazar bots de forma transparente.
Rate limiting a nivel de perímetro mediante la infraestructura de Vercel.
Validación estricta de servidor: límite de tamaño (4MB para PDFs), comprobación de firmas (%PDF-) y saneamiento de datos.
Aislamiento de secretos en variables de entorno, exigiendo un secreto compartido de servidor a servidor.
Políticas de seguridad agresivas en el navegador (CSP, frame-ancestors 'none', Cache-Control: no-store).
Rendimiento y resultado
El resultado es una experiencia de recruitment rápida, clara y bilingüe que separa la web pública de los sistemas de almacenamiento interno.
La compilación estática de Vite con carga diferida de imágenes WebP garantiza tiempos de carga casi nulos.
La aplicación es totalmente responsive e incluye mejoras de accesibilidad (aria-invalid, roles).
Solicita únicamente los datos necesarios, manteniendo una estricta privacidad por diseño.