←VOLVER AL INICIO

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.

Miguel Freire — Frontend Builder AI Powered | Web Designer