{
  "meta": {
    "generated": "Generated from content/profile.json v1.0.0 on 2026-08-09 — do not edit by hand.",
    "version": "v1.0.0",
    "lastModified": "2026-08-09"
  },
  "basics": {
    "name": "Javier Pontón González",
    "label": "AI Engineer / LLM Engineer",
    "image": "https://javierpontongonzalez.com/assets/img/og-default.png",
    "email": "javierpontongonzalez@gmail.com",
    "phone": "+34 623 920 307",
    "url": "https://javierpontongonzalez.com",
    "summary": "AI Engineer and LLM Engineer with 7+ years of production backend engineering for Iberia, KPN, Mercadona, Inditex, Openbank and Idealista, and 2+ years shipping Generative AI to production. I design, build and operate LLM systems end to end: AI agents and multi-agent systems (LangChain, LangGraph, MCP, function calling), Retrieval-Augmented Generation (RAG) with embeddings, hybrid search and cross-encoder reranking, structured extraction with vision-language models, and self-hosted inference including on-premise and air-gapped deployments. What separates my work from prototypes: every system ships with an evaluation harness (golden datasets, field-level precision and recall, regression testing), OpenTelemetry observability, source-level traceability and human-in-the-loop review. Core stack: Python, Java, Kotlin, FastAPI, Spring Boot, PostgreSQL and pgvector, Kafka, AWS, Docker. Independent B2B contractor since 2023 with no gaps between engagements, and founder-engineer of four live products.",
    "location": {
      "city": "Asturias",
      "countryCode": "ES",
      "region": "Asturias"
    },
    "profiles": [
      {
        "network": "LinkedIn",
        "username": "javierpontongonzalez",
        "url": "https://www.linkedin.com/in/javierpontongonzalez"
      },
      {
        "network": "GitHub",
        "username": "sktjpg",
        "url": "https://github.com/sktjpg"
      }
    ]
  },
  "work": [
    {
      "name": "Independent Backend & AI Engineer",
      "location": "Remote, Europe and Middle East",
      "position": "Freelance / B2B contractor",
      "startDate": "2023-11",
      "summary": "Back-to-back enterprise engagements, no gaps between clients."
    },
    {
      "name": "IT systems integrator, Saudi Arabia",
      "location": "Remote",
      "description": "client under NDA",
      "position": "AI Engineer",
      "startDate": "2026-07",
      "summary": "Air-gapped multi-agent AI platform for public-tender (RFP) response.",
      "highlights": [
        "Multi-agent AI system: Architected a two-agent solution for tender response. A financial agent performs structured extraction from vendor quotations in heterogeneous formats (PDF, Word, Excel, email, supplier portals) into a costing model; a technical agent applies RAG and Arabic OCR over RFPs of hundreds of pages, extracts scope of work and bill of quantities, and drafts the technical proposal from a fixed corporate template.",
        "Human-in-the-loop and traceability: Engineered source-level traceability from every extracted figure back to its document and page, mandatory human review gates, and visual flagging of AI-generated content with no vendor source behind it, as required by tender confidentiality.",
        "LLM evaluation: Defined the evaluation harness before the build: a golden dataset of historical tenders scored on field-level precision and recall, regression testing on every prompt or model change, and OpenTelemetry traces per agent step for latency, token cost and failure analysis.",
        "On-premise AI infrastructure: Designed a model-agnostic architecture against OpenAI-compatible APIs, benchmarked Qwen3, DeepSeek, Falcon-H1 Arabic and ALLaM, sized GPU and VRAM for vLLM and Ollama serving, and met Saudi PDPL and NCA requirements in a fully isolated network."
      ]
    },
    {
      "name": "Iberia, S.A.",
      "location": "Remote, Spain",
      "position": "AI Engineer",
      "startDate": "2026-02",
      "endDate": "2026-07",
      "summary": "Flight pricing platform. Technical owner of the fare pricing domain.",
      "highlights": [
        "MCP server: Built and deployed an internal Model Context Protocol server exposing pricing platform tooling to LLM clients, enabling governed function calling and agentic queries over fares, providers and configuration instead of ad-hoc scripts.",
        "RAG service: Delivered retrieval over internal specs and domain documentation with embeddings, hybrid search and cross-encoder reranking, cutting the time engineers spent locating pricing and NDC domain answers, instrumented with OpenTelemetry and Dynatrace like any other production service.",
        "AI-assisted software engineering: Introduced Claude Code for service scaffolding, Karate and JUnit test generation and large refactors, driven by project-specific SKILL.md and CLAUDE.md conventions I defined and rolled out to the team.",
        "Fare pricing services: Engineered the services that calculate flight prices by orchestrating calls to external fare-calculation providers, normalising and aggregating heterogeneous responses under IATA NDC for internal channels and distribution partners; optimised latency and cut provider calls with Redis caching on the highest-traffic pricing flows.",
        "Event-driven integration: Delivered Kafka and PostgreSQL integration on AWS (ECS, SQS, S3) in hexagonal architecture with DDD, owning resilience of the pricing path (timeouts, retries and fallbacks) against third-party provider degradation."
      ]
    },
    {
      "name": "KPN",
      "location": "Remote, Netherlands",
      "position": "AI Engineer",
      "startDate": "2025-03",
      "endDate": "2026-02",
      "summary": "Fibre installation tracking platform, ODF International Team.",
      "highlights": [
        "Generative AI in the delivery workflow: Introduced LLM-assisted development across the international team (test generation, legacy refactors, PR review) with shared prompt and review conventions, so AI output was always human-verified before merge.",
        "Retrieval assistant: Built semantic search with embeddings over runbooks and ServiceNow incident history, cutting the time to find the right precedent when triaging field-operations incidents.",
        "Platform delivery: Delivered a large-scale fibre installation tracking platform running in three European countries under international SLAs, building microservices and field-operations features and owning production incident resolution.",
        "Data migration: Migrated historical production records from PostgreSQL to DynamoDB with chunk-based storage, offloading the operational database and keeping the hot read path fast as volume grew."
      ]
    },
    {
      "name": "Mercadona, S.A.",
      "location": "Remote, Spain",
      "position": "Lead Backend Engineer",
      "startDate": "2024-03",
      "endDate": "2025-03",
      "summary": "Product analytics platform.",
      "highlights": [
        "Ingestion pipeline: Engineered a Spring Batch ingestion pipeline processing millions of product records per day from heterogeneous sources, with restartable jobs and idempotent writes.",
        "API-first services: Designed API-first REST services (OpenAPI) in hexagonal architecture with DDD; sustained over 85% automated test coverage under real TDD."
      ]
    },
    {
      "name": "Inditex, S.A.",
      "location": "Remote, Spain",
      "position": "Lead Backend Engineer",
      "startDate": "2023-11",
      "endDate": "2024-03",
      "summary": "Global logistics, garment-sorting event platform. Technical lead for the Azure to AWS migration.",
      "highlights": [
        "High-concurrency platform: Engineered a serverless platform on Azure and AWS processing thousands of garment-sorting events per minute across the logistics network.",
        "Zero-downtime migration: Led the Azure to AWS migration with zero downtime; built async REST APIs in hexagonal architecture with DDD and introduced Karate integration testing alongside the existing JUnit suite."
      ]
    },
    {
      "name": "Open Bank, S.A. (Santander Group)",
      "location": "Madrid, Spain",
      "position": "Backend Engineer",
      "startDate": "2022-10",
      "endDate": "2023-11",
      "summary": "Investment automation platform. Technical lead for the Java to Kotlin migration.",
      "highlights": [
        "Serverless batch at scale: Implemented serverless batch pipelines on AWS Lambda processing millions of financial transactions per day on top of the T24 core banking system, inside a 100+ backend engineer organisation.",
        "Java to Kotlin migration: Led the migration across services and Lambdas; delivered internal tech talks on DDD and hexagonal architecture to around 50 engineers."
      ]
    },
    {
      "name": "Idealista, S.A.",
      "location": "Madrid, Spain",
      "position": "Backend Engineer",
      "startDate": "2021-03",
      "endDate": "2022-10",
      "summary": "Digital contract-signing platform.",
      "highlights": [
        "Contract-signing platform: Built a digital contract-signing platform for Spain, Portugal and Italy: REST APIs plus Kafka event streams for real-time signing, with event sourcing keeping an auditable, replayable history of every contract."
      ]
    },
    {
      "name": "Empathy.co",
      "location": "Gijón, Spain",
      "position": "Backend Engineer",
      "startDate": "2019-01",
      "endDate": "2021-03",
      "summary": "Playboard, e-commerce search configuration platform.",
      "highlights": [
        "Search configuration platform: Built the configuration platform enterprise clients (Kroger, Carrefour, Inditex) use to tune their Elasticsearch-backed search engines; executed zero-downtime migrations: Java 8 to 11, GCP to AWS, monolith to API Gateway."
      ]
    }
  ],
  "education": [
    {
      "institution": "UIMP / AEPIA",
      "studyType": "M.Sc.",
      "area": "Artificial Intelligence Research (official)",
      "startDate": "2026-09",
      "endDate": "2027-09",
      "courses": [
        "Specialisation in Machine Learning and Data Science. Incoming, starting September 2026."
      ]
    },
    {
      "institution": "University of Oviedo",
      "studyType": "B.Sc.",
      "area": "Computer Science and Software Engineering"
    }
  ],
  "skills": [
    {
      "name": "AI & LLM",
      "level": "2+ years",
      "keywords": [
        "Large Language Models (LLMs)",
        "Generative AI",
        "Applied AI",
        "Machine Learning",
        "Deep Learning",
        "Transformers",
        "Vision-Language Models (VLMs)",
        "NLP",
        "Computer Vision",
        "Prompt Engineering",
        "Structured Outputs",
        "JSON Schema",
        "Function Calling",
        "Tool Use",
        "Hallucination Mitigation",
        "Grounding"
      ]
    },
    {
      "name": "AI Agents & RAG",
      "level": "2+ years",
      "keywords": [
        "Retrieval-Augmented Generation (RAG)",
        "AI Agents",
        "Agentic AI",
        "Agentic Workflows",
        "Multi-Agent Systems",
        "LangChain",
        "LangGraph",
        "Model Context Protocol (MCP)",
        "Embeddings",
        "Semantic Search",
        "Hybrid Search",
        "Cross-Encoder Reranking",
        "Vector Databases",
        "pgvector",
        "HNSW"
      ]
    },
    {
      "name": "LLM Evaluation & LLMOps",
      "level": "2+ years",
      "keywords": [
        "LLM Evaluation",
        "Golden Datasets",
        "Regression Testing",
        "Precision",
        "Recall",
        "F1",
        "LLM-as-a-Judge",
        "Human Evaluation",
        "RAG Evaluation",
        "Hit Rate",
        "MRR",
        "A/B Testing",
        "Shadow Evaluation",
        "RAGAS",
        "Promptfoo",
        "LLMOps",
        "OpenTelemetry",
        "Prometheus",
        "Grafana",
        "Dynatrace",
        "Cost Optimization",
        "Latency Optimization"
      ]
    },
    {
      "name": "Model Serving & AI Infrastructure",
      "level": "2+ years",
      "keywords": [
        "vLLM",
        "Ollama",
        "mistral.rs",
        "OpenAI-Compatible APIs",
        "PyTorch",
        "HuggingFace",
        "Quantization",
        "GGUF",
        "AWQ",
        "LoRA",
        "QLoRA",
        "GPU/VRAM Optimization",
        "Self-Hosted Inference",
        "On-Premise AI",
        "Air-Gapped Deployment",
        "Qwen3",
        "Qwen2.5-VL",
        "DeepSeek",
        "Claude API",
        "OpenAI API"
      ]
    },
    {
      "name": "Backend & Data",
      "level": "7+ years",
      "keywords": [
        "Python",
        "Java",
        "Kotlin",
        "Elixir",
        "TypeScript",
        "SQL",
        "Spring Boot",
        "FastAPI",
        "Spring Batch",
        "REST",
        "OpenAPI",
        "Microservices",
        "PostgreSQL",
        "pgvector",
        "MongoDB",
        "Elasticsearch",
        "Redis",
        "DynamoDB",
        "Apache Kafka",
        "AWS SQS"
      ]
    },
    {
      "name": "Cloud & DevOps",
      "level": "7+ years",
      "keywords": [
        "AWS",
        "Azure",
        "GCP",
        "Docker",
        "Kubernetes",
        "GitHub Actions",
        "Jenkins",
        "Git",
        "CI/CD"
      ]
    },
    {
      "name": "Architecture & Engineering",
      "level": "7+ years",
      "keywords": [
        "Hexagonal Architecture",
        "Domain-Driven Design (DDD)",
        "CQRS",
        "Event Sourcing",
        "SOLID",
        "TDD",
        "API-First",
        "Technical Leadership",
        "Mentoring"
      ]
    }
  ],
  "languages": [
    {
      "language": "Spanish",
      "fluency": "Native (CEFR C2)"
    },
    {
      "language": "English",
      "fluency": "Professional working proficiency (CEFR C1)"
    }
  ],
  "projects": [
    {
      "name": "Facturias",
      "description": "Multimodal invoice-processing SaaS. Structured extraction from invoices with a self-hosted vision-language model (Qwen2.5-VL) plus RAG over Spanish tax regulation to classify and validate entries, with confidence scoring, a labelled evaluation set tracking field-level precision and recall across model versions, and human review on low-confidence fields. VeriFactu compliant, multi-tenant FastAPI backend on PostgreSQL 17 with row-level security and pgvector.",
      "highlights": [
        "Vision-language extraction: Self-hosted Qwen2.5-VL reads invoices as documents rather than as OCR text dumps, preserving table structure, line items and stamps that flat OCR loses.",
        "RAG over Spanish tax regulation: Retrieval over the Spanish tax code classifies and validates each entry, so a deduction is justified by a retrievable rule rather than by model intuition.",
        "Confidence and human review: Every field carries a confidence score; anything under threshold is routed to human review instead of being written silently.",
        "Measured, not assumed: A labelled evaluation set tracks field-level precision and recall across model versions, so a model upgrade is a measurable decision.",
        "Multi-tenant by construction: PostgreSQL 17 row-level security isolates tenants at the database, not in application code. pgvector holds the regulation embeddings."
      ],
      "keywords": [
        "invoice OCR",
        "VeriFactu",
        "vision language model",
        "RAG",
        "multi-tenant SaaS",
        "Spanish tax",
        "Python",
        "FastAPI",
        "SQLAlchemy (async)",
        "PostgreSQL 17",
        "Row-level security",
        "pgvector",
        "Qwen2.5-VL",
        "Docker"
      ],
      "url": "https://facturias.es",
      "roles": [
        "Founder and sole engineer"
      ],
      "entity": "Javier Pontón González",
      "type": "application"
    },
    {
      "name": "ZORRO",
      "description": "Consumer dating app for the gay and queer community, iOS and Android. Shipped solo to Google Play and the App Store in June 2026. Semantic matchmaking with embeddings and pgvector plus cross-encoder reranking, and self-hosted vision-language model moderation of user photos handling GDPR special-category data with no third-party processors. Polyglot production backend in Kotlin/Spring Boot, Elixir and Python.",
      "highlights": [
        "Semantic matchmaking: Profiles are embedded and retrieved with pgvector, then reordered by a cross-encoder reranker: the same retrieve-then-rerank architecture as a production RAG pipeline, applied to people instead of documents.",
        "Self-hosted photo moderation: A vision-language model screens user photos on my own infrastructure. Sexual orientation data is GDPR special-category data, so it never reaches a third-party processor.",
        "Polyglot backend: Kotlin and Spring Boot for the domain, Elixir for realtime chat and presence, Python for the AI services.",
        "Traction: 400+ users with 50% D1 retention within three weeks of launch.",
        "Published on the App Store (https://apps.apple.com/es/app/zorro-chat-y-citas-gay-queer/id6762564810) and Google Play (https://play.google.com/store/apps/details?id=com.sostisoft.zorro)."
      ],
      "keywords": [
        "semantic matching",
        "embeddings",
        "pgvector",
        "content moderation",
        "GDPR",
        "mobile app",
        "Kotlin",
        "Spring Boot",
        "Elixir",
        "Python",
        "PostgreSQL",
        "Cross-encoder reranking",
        "AWS SES",
        "Hetzner",
        "Docker"
      ],
      "url": "https://somoszorro.com",
      "roles": [
        "Founder and sole engineer"
      ],
      "entity": "Javier Pontón González",
      "type": "application"
    },
    {
      "name": "Apunta",
      "description": "Multi-tenant SaaS for shooting clubs owned end to end: custom NFC PCB (ESP32-C6, PN532, PoE) and C/ESP-IDF firmware, Spring Boot backend and React Native app. Range access, training sessions, scoring and club administration on one stack.",
      "highlights": [
        "Custom hardware: Designed the NFC access PCB around an ESP32-C6 and a PN532 reader with Power over Ethernet, and wrote the firmware in C on ESP-IDF.",
        "Backend and multi-tenancy: Spring Boot services with per-club tenancy, membership, range booking, training sessions and scoring.",
        "Mobile: React Native app shipped to the App Store and Google Play for shooters and club administrators.",
        "Published on the App Store (https://apps.apple.com/es/app/apunta-tiro-deportivo/id6759724551)."
      ],
      "keywords": [
        "IoT",
        "NFC",
        "embedded firmware",
        "multi-tenant SaaS",
        "React Native",
        "Kotlin",
        "Spring Boot",
        "PostgreSQL",
        "C",
        "ESP-IDF",
        "ESP32-C6",
        "PN532",
        "Docker"
      ],
      "url": "https://apuntapp.com",
      "roles": [
        "Founder and sole engineer"
      ],
      "entity": "Javier Pontón González",
      "type": "application"
    },
    {
      "name": "Grabia",
      "description": "Self-hosted meeting intelligence, fully local AI. Local pipeline with WhisperX transcription and pyannote diarisation feeding a LangChain and LangGraph agent that produces structured summaries, decisions and action items, with RAG over the meeting archive. Served from a private node (Ryzen AI MAX+ 395, 128 GB unified memory, ROCm) running Qwen3-30B under Ollama and mistral.rs; no audio or transcript leaves the machine.",
      "keywords": [
        "local LLM",
        "speech to text",
        "diarisation",
        "agentic summarisation",
        "Python",
        "LangChain",
        "LangGraph",
        "WhisperX",
        "pyannote",
        "Ollama",
        "mistral.rs",
        "ROCm",
        "Qwen3"
      ],
      "roles": [
        "Founder and sole engineer"
      ],
      "entity": "Javier Pontón González",
      "type": "application"
    },
    {
      "name": "icekar",
      "description": "Distributed scraping and Elasticsearch search over 100,000+ car listings nightly, with an agentic LLM layer that rewrites scraper extraction rules when target sites change markup.",
      "keywords": [
        "web scraping",
        "self-healing scrapers",
        "Elasticsearch",
        "Python",
        "LLM agents",
        "Docker"
      ],
      "url": "https://icekar.es",
      "roles": [
        "Founder and sole engineer"
      ],
      "entity": "Javier Pontón González",
      "type": "application"
    }
  ]
}
