Cholloempleo.com: mercado laboral visible y votado por comunidad
Plataforma de empleo comunitaria donde las ofertas se descubren mediante votación, se clasifican por señales de la comunidad y se mantienen con controles de calidad automatizados y descubrimiento asistido por IA.
Paso 01
Problema
Muchas ofertas útiles quedan escondidas en portales tradicionales sin contexto comunitario de calidad. Muchas ofertas carecen de descripción, tienen títulos genéricos o vienen de empresas desconocidas. El reto era construir un sistema que priorice ofertas de calidad mediante señales comunitarias en lugar de promoción pagada.
Paso 02
Contexto y restricciones
Producto construido con React + Express + PostgreSQL en Railway. La plataforma incluye un sistema de publicación automática (bot DiosEmpleo), mantenimiento de calidad mediante cron, y un sistema de votación comunitaria activo. Las ofertas se insertan mediante scrappers automatizados y se limpian con scripts que detectan entradas incorrectas.
Rol: Fundador técnico: arquitectura de producto, backend API, SEO técnico, diseño del pipeline de scraping, infraestructura de bots y ejecución de hoja de ruta.
Paso 03
Decisiones clave
- Modelo de discovery por vistas Hot/New/Top para priorizar oportunidades mediante señales comunitarias.
- Voto autenticado para proteger calidad del ranking y reducir manipulación.
- Cron dedicado para siembra de actividad y mantenimiento de calidad en etapa temprana.
- Usuario bot (DiosEmpleo) para publicación automatizada de ofertas con datos estructurados.
- Controles de calidad automatizados: detección de descripción vacía, empresa genérica, enlaces rotos, errores de parseo HTML.
- PostgreSQL con esquema estructurado de ofertas incluyendo datos de localización, teletrabajo y salario.
- Arquitectura multi-servicio en Railway separando web app y procesos cron.
- Sistema de foro junto a las ofertas para construir comunidad en torno a temas laborales.
Paso 04
Resultados
- Núcleo funcional de empleo + comunidad desplegado y operando en dominio propio.
- Arquitectura multi-servicio en Railway separando web app y procesos cron.
- Pipeline automatizado de ofertas con filtros de calidad y detección de duplicados.
- Tres modos de ranking visibles para la comunidad.
- Colección creciente de ofertas verificadas con datos estructurados.
Métricas
- Tres modos de ranking: Hot (tendencia), New (nuevas), Top (mejor votadas).
- Servicio cron para siembra de actividad y limpieza de ofertas.
- Controles automatizados: descripción vacía, empresa genérica, título genérico, enlaces rotos, errores de parseo.
- Endpoints API para ofertas, votos, foro y detalle de oferta.
- Bot DiosEmpleo para inserción programática de ofertas.
- Datos de localización: ciudad, provincia, comunidad autónoma, coordenadas.
Paso 05
Aprendizajes y próxima mejora
Cómo funciona
La plataforma combina tres capas: frontend web para usuarios, backend API para operaciones de datos, y bots automáticos que encuentran y publican ofertas de empleo.
Pipeline de datos
Bots automatizados → [Fuentes externas] → [Filtros de calidad] → [Oferta estructurada] → PostgreSQL
↓
Votos comunidad + señales → [Motor de ranking (Hot/New/Top)] → Frontend web
Las ofertas se recolectan de múltiples fuentes, pasan controles de calidad automatizados y se publican mediante el bot DiosEmpleo. Cada oferta incluye metadatos estructurados: título, empresa, localización, teletrabajo, salario, tipo de jornada y sector.
Sistema de ranking
- Hot: ofertas en tendencia basadas en actividad de votación reciente
- New: ofertas más recientes publicadas
- Top: ofertas con más votos acumulados
Mantenimiento de calidad
Scripts automáticos auditan regularmente la base de datos de ofertas:
| Control | Qué detecta |
|---|---|
| Descripción vacía o corta | Ofertas sin contenido útil |
| Empresa genérica (“Empresa no especificada”) | Entradas placeholder |
| Título genérico (“Oferta de empleo”) | Entradas de baja calidad |
| Enlaces rotos o de Google sign-in | URLs de aplicación inválidas |
| HTML en título/empresa | Errores de parseo |
| Título excesivamente largo | Datos malformados |
Aprendizajes
- Encontrar ofertas y publicarlas de forma útil para la comunidad es posible y tiene impacto real.
- Separar estructuras técnicas desde el inicio evita bloqueos cuando empieza a crecer el volumen.
- Los controles de calidad automatizados son esenciales cuando las ofertas vienen de fuentes scaneadas — los datos malos se acumulan rápido.
- El siguiente reto no es solo crecer: es mantener calidad de ofertas y confianza comunitaria.
Próxima mejora
Mejorar filtros y reglas de calidad para evitar ruido en las ofertas. Seguir escalando catálogo sin perder trazabilidad de fuente y consistencia editorial.
Enlace
Paso 06