Nuestro trabajo

Datos de empleo confiables. Infraestructura que los mantiene en movimiento.

De fuentes fragmentadas a oportunidades que se pueden encontrar, con control de cada paso del proceso.

El proyecto

Para quien busca trabajo, una oferta incompleta o desactualizada es una oportunidad perdida. Sidehustles reúne empleos flexibles en un solo lugar. Desarrollamos los sistemas cloud y de datos detrás de esa experiencia, conectando recolección, procesamiento, publicación y operación en un pipeline que el equipo puede entender y gestionar.

Lo que entregamos

Un sistema de ingesta con múltiples fuentes, workers dedicados, validación y prevención de duplicados, almacenamiento en PostgreSQL e integración de búsqueda. Lo acompañamos con despliegues cloud en contenedores, verificaciones de base de datos antes de publicar versiones, monitoreo de colas y un panel operativo para rastrear cada oferta hasta su origen.

Servicios

  • Infraestructura y operación cloud
  • Pipelines de ingesta y scraping
  • Calidad y normalización de datos
  • Infraestructura e integración de búsqueda
  • Ingeniería de despliegues y bases de datos
  • Visibilidad operativa y diagnóstico

Resultados y valor generado

La escala de la plataforma.

Ofertas en la plataforma
800 mil+
Empresas representadas
15 mil+
Cifras del catálogo publicadas por Sidehustles

Un camino confiable hasta la publicación.

Los adaptadores de cada fuente alimentan un flujo compartido. Las ofertas pasan por validación, normalización y revisión de duplicados antes de publicarse. Los registros originales se conservan para inspección y reprocesamiento.

Más control cuando crece la carga.

Los workers en segundo plano separan la recolección del procesamiento. Las verificaciones de salud de las colas permiten detectar acumulaciones y falta de progreso para diagnosticar la ingesta sin confundir cada fallo con una caída de la aplicación.

Una ruta más segura para los cambios.

Las migraciones se ejecutan antes de promover una nueva versión web. Si ese paso falla, el proceso anterior sigue atendiendo. El panel operativo reúne el estado de las ejecuciones, los errores de validación y los datos de origen en un mismo flujo de investigación.

Objetivos y desafíos

El reto era mantener confiable todo el recorrido: formatos distintos, páginas que cambian, más trabajo por procesar y una experiencia pública que depende de datos consistentes.

  • Integrar páginas de empleadores, plataformas ATS y feeds con estructuras diferentes.
  • Conservar los datos de origen y producir ofertas consistentes para la búsqueda.
  • Identificar duplicados, registros inválidos y cuellos de botella.
  • Evolucionar servicios y esquemas manteniendo disponible la plataforma pública.

Del origen a una búsqueda confiable.

La recolección y el procesamiento están desacoplados. La calidad se valida antes de publicar. Los despliegues cloud y la visibilidad operativa acompañan todo el ciclo de vida.

Arquitectura cloud y de datosComponentes y responsabilidades

Fuentes externas

Páginas de empleadores, plataformas ATS y feeds

Recolección

Actores Python y navegación para páginas dinámicas

Ingesta mediante API Go

Plataforma DigitalOcean

Servicios en contenedores · PostgreSQL administrado
  1. Conservar el origen

    Datos originales + estado de procesamiento

    Una cola respaldada por la base de datos conserva el trabajo pendiente.

    Procesar pendientes
  2. Procesar en segundo plano

    Worker pool independiente

    Validación, normalización y control de duplicados. Los registros inválidos quedan identificados.

    Publicar registros válidos
  3. Publicar el catálogo

    Ofertas normalizadas

    Escrituras en el primario y consultas con roles de réplica de lectura.

    Consultar el catálogo
  4. Servir la búsqueda

    API de búsqueda y categorías

    Filtros del catálogo, recuperación híbrida y resultados para la experiencia pública.

DokkuDocker

Servicios externos de búsqueda

Workers y API ↔ embeddings
OpenAIEmbeddings de texto

Los workers y la API convierten texto de ofertas y consultas en vectores.

Workers → índice · API ↔ búsqueda
QdrantÍndice y búsqueda híbrida

Los workers indexan; la API recupera por significado y palabras clave.

Operación y entrega

Diagnóstico de solo lectura

Next.js permite comparar datos originales y normalizados e investigar ejecuciones de Apify.

Despliegues controlados

Dokku ejecuta las migraciones antes de promover la versión web. Docker mantiene servicios reproducibles.

Salud del procesamiento

Estado de las colas, registros inválidos y progreso de los workers. Entornos separados para validar cambios.

Las flechas muestran el recorrido de las ofertas. Las conexiones etiquetadas describen llamadas a servicios externos. Los límites agrupan responsabilidades, sin revelar configuración privada.

La API de ingesta conserva los registros originales en PostgreSQL. Los workers procesan el trabajo pendiente, validan y normalizan las ofertas y las publican en el catálogo. OpenAI y Qdrant complementan ese recorrido con embeddings e indexación para la búsqueda híbrida.

El panel Next.js inspecciona datos y ejecuciones sin modificar las ofertas. Las verificaciones de colas muestran el progreso del procesamiento. Antes de promover una versión web, Dokku ejecuta las migraciones; si ese paso falla, el proceso web anterior continúa atendiendo.

Stack cloud, datos y búsqueda

Las plataformas y herramientas que conectan la ingesta, la búsqueda y la operación cloud.

Cloud y despliegues

  • DigitalOcean

    Hosting cloud e infraestructura PostgreSQL administrada.

  • Dokku

    Despliegue de servicios con verificación de migraciones antes de publicar versiones.

  • Docker

    Servicios en contenedores y artefactos de despliegue reproducibles.

  • PostgreSQL

    Almacenamiento de ofertas originales y procesadas, con roles de escritura y réplica de lectura.

Ingesta y procesamiento

  • Go

    APIs de ingesta, procesamiento en segundo plano y salud de las colas.

  • Python

    Adaptadores de fuentes, extracción, validación y normalización.

  • Apify

    Ejecución de actores y visibilidad sobre los procesos de scraping.

  • Chrome / Browserless

    Recolección mediante navegador en páginas con contenido dinámico.

Búsqueda y operación

  • Qdrant

    Búsqueda vectorial para encontrar ofertas por significado y similitud.

  • OpenAI

    Embeddings de texto utilizados por el pipeline de búsqueda semántica.

  • Next.js

    Panel interno para comparar datos originales y normalizados e investigar ejecuciones.

Nuestro enfoque

  1. Mapear el ciclo de vida del dato.

    Seguir cada oferta desde su fuente hasta la experiencia pública. Definir dónde termina la recolección, empieza el procesamiento y se habilita la publicación, manteniendo visibles los registros rechazados.

  2. Separar las cargas que escalan distinto.

    Distinguir adaptadores, workers de procesamiento y servicios orientados al usuario. Conservar el origen, normalizar un registro consistente y hacer visible el progreso de las colas.

  3. Diseñar también la operación.

    Incorporar migraciones, separación de entornos, verificación de versiones y diagnóstico como parte de la plataforma. Permitir investigar fallos sin modificar las ofertas de producción.

Actividades clave y aprendizajes

Adaptadores que entienden la fuente.

Desarrollamos integraciones con plataformas ATS como Workday e iCIMS, además de feeds externos. Los límites de frecuencia, la extracción estructurada y los identificadores de origen facilitan ampliar y diagnosticar la recolección.

Calidad antes de la búsqueda.

Implementamos validación y detección de duplicados, conservamos los datos originales y normalizamos campos como ubicación y salario. Los registros inválidos se distinguen de las ofertas publicadas.

Una búsqueda coherente con el catálogo.

Alineamos los conteos de categorías con los filtros de búsqueda y conectamos recuperación por palabras clave y significado. Encontrar oportunidades exige resultados relevantes y una visión consistente de las ofertas disponibles.

Visibilidad más allá del despliegue.

Agregamos verificaciones de salud de las colas e inspección de solo lectura para ejecuciones, datos normalizados y errores. Las verificaciones de despliegue protegen el proceso web si falla una migración.

¿Listo para estabilizar y escalar tu cloud?

Hablemos de los problemas de infraestructura que generan riesgos, inestabilidad o dificultades para tu equipo.

Habla con un experto