Sobre el proyecto
Estamos construyendo una plataforma que unifique y orqueste varios servicios ya existentes relacionados con procesamiento de vídeo y audio.
Apificarlos (exponerlos como servicios web bien diseñados).
Unificarlos en una plataforma que permita crear y gestionar tareas (jobs) que lancen los servicios necesarios en cada flujo.
Facilitar que, a futuro, podamos ir integrando más servicios de forma incremental.
Responsabilidades
Diseñar y desarrollar la plataforma de orquestación de tareas.
Creación, seguimiento y gestión de tareas que encadenen los servicios disponibles.
Manejo de estados, colas, reintentos, logging y trazabilidad.
Apificar servicios existentes actualmente desplegados como scripts en Docker:
Diseño de endpoints.
Adaptación de scripts para funcionar como workers/servicios robustos.
Diseño e implementación del frontend funcional:
UI para crear y lanzar jobs.
Visualización de estado, resultados y logs.
Interfaces básicas para ingesta de vídeo/audio y revisión/corrección humana.
Definir y concretar junto al equipo arquitectura (autenticación, gestión de usuarios/roles, permisos) y estimar impacto en costes.
Proponer mejoras técnicas y de producto para acelerar el desarrollo y facilitar futuras integraciones.
Documentar APIs, flujos y decisiones técnicas para que el sistema sea mantenible.
Requisitos indispensables
Full-stack con experiencia demostrable en proyectos reales:
Backend: Preferible Python (FastAPI, Django o similar). Valorable Node.js/TypeScript.
Frontend: Preferible React/Next.js.
Experiencia creando APIs productivas:
Autenticación/autorización (JWT, OAuth2, etc.).
Diseño de modelos de datos y contratos de API.
Experiencia sólida con bases de datos relacionales (PostgreSQL o similar). Valorable experiencia con Redis u otro almacén para colas/cache.
Experiencia previa con herramientas de contenerización (preferible Docker).
Habituado a trabajar con servicios asíncronos / colas de trabajo (ej. Celery, RabbitMQ o equivalente).
Experiencia básica en observabilidad: Integración de logs estructurados y, preferiblemente, métricas y/o alertas en producción.
Capacidad para trabajar prácticamente en autonomía, interactuando con un equipo técnico para aclarar requerimientos y tomar decisiones.
Uso avanzado y habitual de herramientas de IA para programación (condición imprescindible):
Asistentes de código (p.ej. Claude Code, OpenAI Codex, etc.).
Capacidad real para estructurar prompts, generar scaffolding de código, tests, documentación y refactors apoyándote en IA.
Buenas prácticas:
Control de versiones.
Tests básicos (unitarios/integración y funcionales donde tenga sentido).
Sensibilidad por la calidad y la simplicidad del código.
Valorará positivamente
Experiencia con procesamiento de medios (audio/vídeo) y pipelines de ML/IA.
Experiencia previa en integración de scripts o servicios batch detrás de una API.
Experiencia en diseño de gestión de usuarios/roles y permisos granulares.
Conocimientos de alguna nube (AWS, GCP, Azure) y despliegue de servicios (CI/CD).
Experiencia previa como freelance/consultor técnico (gestión del tiempo, reporting, estimaciones).
Condiciones del freelance
Tipo de colaboración: freelance.
Dedicación: a definir (idealmente 20 horas/semana de forma sostenida; podemos ajustar según disponibilidad).
Trabajo 100% remoto, con reuniones de alineación (horario europeo). Preferible con disponibilidad para asistir a reuniones presencialmente.
Duración: inicialmente proyecto de varias semanas/meses, con posibilidad de extender según resultados y roadmap.