Francisco Manuel Olmedo Cortés

Physicist · AI Engineer · architecture, AI and deployment

Córdoba, Andalucía, España

About

Physicist. I design the architecture and build the AI side of applications that actually work: RAG, agents and multi-tenant backends, deployed and maintained on servers we run ourselves. I run the AI side at Hagalink. I come from computational physics, so before putting a model into production I ask what is being measured and with what error.

Experience

  1. AI Engineer

    Hagalink · Córdoba, Andalucía, España

    • Design the architecture, build the AI side and a good part of the backend across five client projects since January 2026.
    • Grant-eligibility assistant for rural development group technicians: regulatory evidence retrieval with mandatory human validation, a modular monolith in NestJS, one tenant per group, and pseudonymization of personal data. The architecture is mine.
    • Official chatbot for the Feria de Córdoba (Córdoba City Council) and Cruz de GuIA for Holy Week: WhatsApp agents with hybrid RAG (dense and sparse retrieval fused with RRF over Qdrant), ten tools exposed through MCP, and evaluation with Ragas.
    + Show more (6)
    • Early-warning alerts and geospatial analytics from open sources, for security management teams in the real-estate sector. Reused feedpulse (my open-source service) as the ingestion pipeline, with NestJS, PostgreSQL and RabbitMQ.
    • HagaBox, the conversational inbox platform with agents: designed the full architecture (DDD, multi-tenant with RLS in PostgreSQL, seven AI providers), built the entire AI side and a good part of the backend.
    • HagaTime, working-time tracking (RDL 8/2019, Spanish working-time law) with an immutable ledger and signed exports for labor inspections: the design is mine, and I developed a large part of the backend in FastAPI.
    • Internal tools for the team: AI-based lead capture, an in-house OpenAI-compatible proxy over Groq, and development-effort tracking.
    • Production deployment and operation on our own servers (VPS) with Docker, Traefik, CI/CD and Dokploy.
    • AI training for the teams of a software development company: code assistants, agent configuration (harness), RAG and evaluation.
  2. Research Collaborator · Part-time

    Universidad de Córdoba / CIEMAT · Córdoba / Madrid, España

    • Ongoing research in thermoluminescence dosimetry (TLD-100) using machine learning methods, continuing the line of my 2023 publication, in collaboration with Hagalink on the development side.
    • Results accepted for presentation at the Annual Meeting of the Spanish Nuclear Society (SNE), October 2026; enrolling in the doctoral programme in the next admission round.
  3. Technical Contributor · AI & Platform

    Cordob.ai · Córdoba, Andalucía, España

    • Year-round conversational assistant for city information, built on the same RAG and agent foundation as the festival chatbots. In development, not yet released.
    • Initial product mockup and internal dashboard in Python.
  4. AI Engineer

    BlakIA · Córdoba, Andalucía, España

    • Led the technical side: agents and RAG for public and private clients.
    • Official chatbot for the Feria de Córdoba (Córdoba City Council) and the Cruz de GuIA chatbot for Holy Week (Asociación de Cofradías Cordobesas), running through the busiest days of the festivities.
    • WhatsApp booking systems with agents and RAG, in collaboration with Visionarius Agency, including one for a spa in Panama.
    + Show more (3)
    • Rotating shift scheduling for a food venue using a genetic algorithm: encoded the constraints and objective function starting from the classic nurse scheduling problem.
    • HagaTime (working-time tracking) and BlakBill (invoice data extraction and organization for accounting firms, with RD 1619 validation, Spanish invoicing regulation) were born here and continue at Hagalink.
    • Emprende UCO award and acceleration at El Patio (Andalucía Open Future). Transitioned products, clients and responsibilities to Hagalink.
  5. Scientific Software Engineer

    Universidad de Córdoba (Confidential Project) · Córdoba, Andalucía, España

    • Refactored a legacy scientific simulator (ray tracing) applying Clean Architecture; introduced version control and good development practices in the group.
    • Built an optimizer based on genetic algorithms for the design of crystals (disordered optical media).
  6. R&D Software Engineer

    IDENER.AI · Sevilla, Andalucía, España

    • Applied deep learning models for time-series forecasting, optimizing energy production estimates.
    • Translated theoretical scientific requirements into efficient, functional code in an agile R&D environment.
  7. Scientific Developer

    Universidad de Córdoba / CIEMAT · Madrid / Córdoba, España

    • Developed a physical simulator based on the numerical resolution of differential equations (Runge-Kutta) in Python, deployed as a web tool via Streamlit.
    • Synthetic data generation: used the simulator as an oracle to generate high-precision datasets for deep learning.
    • Designed and trained fully-connected neural networks for kinetic parameter assessment, which led to a peer-reviewed publication.
    + Show more (1)
    • Taught an introductory Python course for scientific computing, AI and data science.

Selected Projects

  • feedpulse · TypeScript · NestJS · Hexagonal · DDD · BullMQ · Kubernetes · KEDA · Observability

    RSS monitoring service built for a Hagalink project, tracking more than 10,000 sources with keyword alerts, now folded into a wider platform. Hexagonal architecture with DDD, three runtimes (api, scheduler and worker), BullMQ queues, Prometheus metrics, and Kubernetes manifests with KEDA that CI applies to a real cluster on every change.

  • Hybrid-RAG-example · Python · RAG · RRF · Clean Architecture

    Resource I built to teach hybrid RAG to my students: semantic and keyword retrieval fused with RRF, with Clean Architecture.

  • llm-pii-redactor · TypeScript · PII · GDPR · LLM boundary

    Reference implementation of PII redaction at the boundary with the AI provider: the application depends on an interface, and a redacting wrapper keeps personal data inside the backend. Designed for GDPR-sensitive public-sector deployments.

  • snow-mcrt · Python · Monte Carlo · Radiative transfer · Validation

    Monte Carlo photon transport in snow, written from first principles and validated against closed-form radiative transfer and published albedo curves. 3-D engine with a Fresnel surface and measured detection of buried objects.

+ Show more (3)
  • AI-image-Detector · Python · Computer vision · Image forensics · PCA · scikit-learn

    Detection of AI-generated images from the sensor's optical signature (PRNU and demosaicing): Gx and Gy gradients, PCA on the eigenvalues of its covariance matrix, DCT and color analyzers, and Random Forest. API in FastAPI, front end on GitHub Pages.

  • Agent-skills-POC · Python · Agent Skills · MCP · Progressive Disclosure

    Framework-agnostic Agent Skills with Progressive Disclosure, MCP and a stateless reasoning loop. Built to train my team in agentic AI. Clean Architecture.

  • claudeops-tui · Go · Bubbletea · SQLite · DX

    Local TUI to monitor usage, cost and tasks for my code assistants (Go + Bubbletea + SQLite).

Publications

Education

  1. Master in Physical Technology: Research and Applications

    Universidad de Córdoba

  2. Bachelor (Degree) in Physics

    Universidad de Córdoba

  3. Specialist in Artificial Intelligence

    IUNIT Centro Universitario

  4. Programme in Entrepreneurship, mentoring and project validation

    EmprendeUCO – Diputación de Córdoba

Technical Skills

Architecture & backend

  • Clean / Hexagonal / DDD
  • Python
  • TypeScript (NestJS)
  • Go
  • FastAPI
  • PostgreSQL
  • Multi-tenant

AI in production

  • RAG (hybrid, RRF)
  • Agents
  • Agent orchestration (LangGraph, LangChain, Mastra)
  • MCP (Model Context Protocol)
  • Embeddings
  • Vector databases (Qdrant, pgvector)
  • RAG and LLM evaluation (Ragas, Langfuse)
  • PII anonymisation
  • Human-in-the-loop
  • Synthetic data
  • n8n
  • Make

Infrastructure & deployment

  • Docker
  • Docker Compose
  • Traefik
  • CI/CD (GitHub Actions)
  • Dokploy
  • Linux / VPS
  • Prometheus
  • OpenTelemetry

Computational physics & models

  • Monte Carlo methods (implemented from scratch)
  • Genetic algorithms
  • Numerical methods
  • Neural networks
  • Autoencoders
  • Computer vision
  • PyTorch
  • scikit-learn

Languages

  • Spanish · Native
  • English · Professional Working Proficiency (B2)

Francisco Manuel Olmedo Cortés

Físico · Ingeniero de IA · arquitectura, IA y despliegue

Córdoba, Andalucía, España

Sobre mí

Físico. Diseño la arquitectura y construyo la parte de IA de aplicaciones que acaban funcionando: RAG, agentes y backends multi-tenant, desplegados y mantenidos en servidores propios. Llevo la IA en Hagalink. Vengo de la física computacional, así que antes de meter un modelo pregunto qué se mide y con qué error.

Experiencia

  1. Ingeniero de IA

    Hagalink · Córdoba, Andalucía, España

    • Diseño la arquitectura, construyo la parte de IA y buena parte del backend en cinco proyectos de cliente desde enero de 2026.
    • Asistente de subvencionabilidad para técnicos de grupos de desarrollo rural: recuperación de evidencia normativa con validación humana obligatoria, monolito modular en NestJS, un tenant por grupo y seudonimización de datos personales. La arquitectura es mía.
    • Chatbot oficial de la Feria de Córdoba (Ayuntamiento de Córdoba) y Cruz de GuIA para la Semana Santa: agentes sobre WhatsApp con RAG híbrido (recuperación densa y dispersa fusionadas con RRF sobre Qdrant), diez herramientas expuestas por MCP y evaluación con Ragas.
    + Ver más (6)
    • Alertas tempranas y analítica geoespacial a partir de fuentes abiertas, para equipos de dirección de seguridad en el sector inmobiliario. Reutilicé feedpulse (mi servicio open source) como pipeline de ingesta, con NestJS, PostgreSQL y RabbitMQ.
    • HagaBox, la plataforma de inbox conversacional con agentes: diseñé la arquitectura completa (DDD, multi-tenant con RLS en PostgreSQL, siete proveedores de IA), hice toda la parte de IA y buena parte del backend.
    • HagaTime, registro de jornada laboral (RDL 8/2019) con ledger inmutable y exportación firmada para inspección: el diseño es mío y desarrollé gran parte del backend en FastAPI.
    • Herramientas internas para el equipo: captación de leads con IA, un proxy propio compatible con OpenAI sobre Groq y medición del esfuerzo de desarrollo.
    • Despliegue y operación en producción sobre servidores propios (VPS) con Docker, Traefik, CI/CD y Dokploy.
    • Formación en IA a los equipos de una empresa de desarrollo de software: asistentes de código, configuración de agentes (harness), RAG y evaluación.
  2. Investigador colaborador · Tiempo parcial

    Universidad de Córdoba / CIEMAT · Córdoba / Madrid, España

    • Investigación en curso en dosimetría termoluminiscente (TLD-100) con métodos de aprendizaje automático, continuando la línea de mi publicación de 2023, en colaboración con Hagalink para desarrollo.
    • Resultados aceptados para presentación en la Reunión Anual de la Sociedad Nuclear Española (SNE), octubre de 2026; matriculación en el programa de doctorado en la próxima convocatoria.
  3. Technical Contributor · IA y plataforma

    Cordob.ai · Córdoba, Andalucía, España

    • Asistente conversacional de información de la ciudad para todo el año, con la misma base de RAG y agentes que los chatbots de las fiestas. En desarrollo, aún sin publicar.
    • Maqueta inicial del producto y dashboard interno en Python.
  4. Ingeniero de IA

    BlakIA · Córdoba, Andalucía, España

    • Llevé la parte técnica: agentes y RAG para clientes públicos y privados.
    • Chatbot oficial de la Feria de Córdoba (Ayuntamiento de Córdoba) y chatbot Cruz de GuIA para la Semana Santa (Asociación de Cofradías Cordobesas), funcionando durante los días de más gente.
    • Sistemas de reserva por WhatsApp con agentes y RAG, en colaboración con Visionarius Agency, entre ellos el de un spa en Panamá.
    + Ver más (3)
    • Planificación de turnos rotativos para un local de comida con un algoritmo genético: codifiqué las restricciones y la función objetivo partiendo del problema clásico de la enfermera.
    • Aquí nacieron HagaTime (registro de jornada) y BlakBill (extracción y organización de datos de facturas para gestorías, con validación del RD 1619), que continúan en Hagalink.
    • Premio Emprende UCO y aceleración en El Patio (Andalucía Open Future). Traspasé productos, clientes y responsabilidades a Hagalink.
  5. Ingeniero de Software Científico

    Universidad de Córdoba (Proyecto Confidencial) · Córdoba, Andalucía, España

    • Refactoricé un simulador científico legacy (ray tracing) aplicando Clean Architecture; introduje control de versiones y buenas prácticas de desarrollo en el grupo.
    • Construí un optimizador basado en algoritmos genéticos para el diseño de cristales (medios ópticos desordenados).
  6. Ingeniero de Software I+D

    IDENER.AI · Sevilla, Andalucía, España

    • Apliqué modelos de Deep Learning para la predicción de series temporales, optimizando las estimaciones de producción energética.
    • Traducción de requerimientos científicos teóricos a código eficiente y funcional en un entorno ágil de I+D.
  7. Desarrollador científico

    Universidad de Córdoba / CIEMAT · Madrid / Córdoba, España

    • Desarrollo de un simulador físico basado en la resolución numérica de ecuaciones diferenciales (Runge-Kutta) en Python, desplegado como herramienta web mediante Streamlit.
    • Generación de datos sintéticos: uso del simulador como oráculo para generar datasets de alta precisión orientados a Deep Learning.
    • Diseño y entrenamiento de redes neuronales densas para la evaluación de parámetros cinéticos, que acabó en una publicación revisada por pares.
    + Ver más (1)
    • Impartición de un curso introductorio de Python para scientific computing, IA y ciencia de datos.

Proyectos Destacados

  • feedpulse · TypeScript · NestJS · Hexagonal · DDD · BullMQ · Kubernetes · KEDA · Observabilidad

    Servicio de monitorización RSS que construí para un proyecto de Hagalink, siguiendo más de 10.000 fuentes con alertas por palabra clave, y que hoy va dentro de una plataforma más amplia. Arquitectura hexagonal con DDD, tres runtimes (api, scheduler y worker), colas BullMQ, métricas Prometheus y manifiestos de Kubernetes con KEDA que el CI aplica a un clúster real en cada cambio.

  • Hybrid-RAG-example · Python · RAG · RRF · Clean Architecture

    Recurso que hice para enseñar RAG híbrido a mis alumnos: recuperación semántica y por palabras clave fusionadas con RRF, con Clean Architecture.

  • llm-pii-redactor · TypeScript · PII · RGPD · Frontera con el LLM

    Implementación de referencia de la redacción de PII en la frontera con el proveedor de IA: la aplicación depende de una interfaz y un wrapper redactor mantiene los datos personales dentro del backend. Pensado para despliegues de sector público sensibles al RGPD.

  • snow-mcrt · Python · Monte Carlo · Transferencia radiativa · Validación

    Transporte Monte Carlo de fotones en nieve, escrito desde primeros principios y validado contra transferencia radiativa en forma cerrada y curvas de albedo publicadas. Motor 3-D con superficie de Fresnel y detección medida de objetos enterrados.

+ Ver más (3)
  • AI-image-Detector · Python · Visión por computador · Análisis forense de imagen · PCA · scikit-learn

    Detección de imágenes generadas por IA a partir de la firma óptica del sensor (PRNU y demosaicing): gradientes Gx y Gy, PCA sobre los autovalores de su matriz de covarianza, analizadores DCT y de color, y Random Forest. API en FastAPI y front en GitHub Pages.

  • Agent-skills-POC · Python · Agent Skills · MCP · Progressive Disclosure

    Agent Skills agnósticos del framework, con Progressive Disclosure, MCP y un bucle de razonamiento sin estado. Construido para formar a mi equipo en IA agéntica. Clean Architecture.

  • claudeops-tui · Go · Bubbletea · SQLite · DX

    TUI local para monitorizar uso, coste y tareas de mis asistentes de código (Go + Bubbletea + SQLite).

Publicaciones

Educación

  1. Máster en Tecnología Física: Investigación y Aplicaciones

    Universidad de Córdoba

  2. Grado en Física

    Universidad de Córdoba

  3. Especialista en Inteligencia Artificial

    IUNIT Centro Universitario

  4. Programa en Emprendimiento, mentoría y validación de proyectos

    EmprendeUCO – Diputación de Córdoba

Habilidades Técnicas

Arquitectura & backend

  • Clean / Hexagonal / DDD
  • Python
  • TypeScript (NestJS)
  • Go
  • FastAPI
  • PostgreSQL
  • Multi-tenant

IA en producción

  • RAG (híbrido, RRF)
  • Agentes
  • Orquestación de agentes (LangGraph, LangChain, Mastra)
  • MCP (Model Context Protocol)
  • Embeddings
  • Bases vectoriales (Qdrant, pgvector)
  • Evaluación de RAG y LLM (Ragas, Langfuse)
  • Anonimización de PII
  • Human-in-the-loop
  • Datos sintéticos
  • n8n
  • Make

Infraestructura & despliegue

  • Docker
  • Docker Compose
  • Traefik
  • CI/CD (GitHub Actions)
  • Dokploy
  • Linux / VPS
  • Prometheus
  • OpenTelemetry

Física computacional & modelos

  • Métodos de Montecarlo (implementados desde cero)
  • Algoritmos genéticos
  • Métodos numéricos
  • Redes neuronales
  • Autoencoders
  • Visión por computador
  • PyTorch
  • scikit-learn

Idiomas

  • Español · Nativo
  • Inglés · Competencia Profesional (B2)