See how much of this job your resume covers, and what’s missing.
Want a recruiter to go through it line by line?
Get professional reviewQuestions interviewers often ask for this role, with sample answers.
Upload your resume and we draft a letter for this exact role, tailored to what it asks for.
Design and implement AI systems for document processing, including extraction, classification, and agentic workflows. Integrate these AI features into the production platform using Node.js and TypeScript while managing model costs and performance.
Tendios is a SaaS platform for Spanish public procurement intelligence. Our products, Bid and Create, help companies find, analyse and win public tenders. Tender documentation is long, unstructured and full of legal and technical detail, which makes it an ideal ground for applied AI.
We are looking for a Senior AI/ML Engineer who designs the intelligence behind our products and ships it into production code. You will decide which model solves each problem, whether a commercial API, a fine-tuned open-source model or a combination, and make it fast, reliable and affordable at scale.
This is not a research-only position. You will prototype in Python, then integrate and ship features in our Node.js / NestJS / TypeScript platform alongside the rest of the engineering team. You will join our AI & Data squad.
AI architecture and models
Design the AI systems behind our features: extraction, classification, matching, summarisation, drafting and agentic workflows over tender documentation.
Choose the right approach per use case: prompting, RAG, fine-tuning, distillation or classic ML, and justify it on quality, latency and cost.
Build retrieval pipelines: chunking, embeddings, hybrid search and reranking over large document collections.
Commercial LLMs, cost-efficient
Own our usage of commercial providers (Anthropic, OpenAI, Google and others) and keep cost per feature under control.
Apply prompt caching, batch APIs, model routing and cascading, semantic caching, context compression and token budgets.
Track cost, latency and quality per feature and per customer, and set alerts before bills surprise us.
Open-source models
Evaluate, fine-tune (LoRA / QLoRA) and deploy open-weight models such as Llama, Mistral, Qwen or Gemma where they beat APIs on cost, privacy or control.
Serve them efficiently with tools like vLLM, TGI or llama.cpp, using quantisation and batching to get the most from each GPU.
Build the data pipelines and labelled datasets needed for training and evaluation.
Product engineering
Ship AI features end to end in our Node.js / NestJS / TypeScript platform: APIs, background jobs, streaming responses and integrations.
Build evaluation suites and regression tests so model or prompt changes never silently degrade quality.
Propose new AI-driven features with product, and help the team adopt good LLM engineering practices.
5+ years of software engineering, including 2+ years building LLM or ML features that run in production.
Strong Python for ML work: PyTorch, Hugging Face Transformers and the surrounding data tooling.
Solid TypeScript and Node.js in production; NestJS experience or the ability to become productive in it quickly.
Deep hands-on knowledge of commercial LLM APIs, including concrete examples of how you reduced their cost without losing quality.
Practical experience fine-tuning, quantising and serving open-source models, and a clear view of when self-hosting pays off versus an API.
RAG in production: embeddings, vector search (e.g. pgvector, Qdrant, OpenSearch), hybrid retrieval and reranking.
An evaluation mindset: you build test sets, use LLM-as-judge carefully and measure before you claim improvements.
Comfort with the full lifecycle: Docker, CI/CD, cloud infrastructure, observability and on-call ownership of what you ship.
Fluent English for technical work.
Spanish, since our source documents and many users work in Spanish.
Agents and tool use: function calling, the Model Context Protocol (MCP) and multi-step workflows.
Document AI: PDF parsing, OCR, layout and table extraction from messy files.
LLM observability and gateway tools such as Langfuse, LiteLLM or similar.
GPU infrastructure and cost management on AWS, GCP or specialised GPU providers.
Knowledge of public procurement, legal or other document-heavy domains.
Awareness of GDPR and the EU AI Act when designing AI features.
Remote from anywhere in Spain, or hybrid from Barcelona.
A 16-person engineering organisation in four squads; you join the AI & Data squad and work closely with product squads.
Real ownership: you choose the tools and models, and you are measured on what reaches customers.
Open question: salary range and benefits to add before publishing.
Send your CV and a short note describing one LLM feature you took to production: the model choice, how you evaluated it, and what you did to bring its cost down. Links to code, papers or open-source work are welcome.
Stop the endless job search. Our AI finds and applies to the best jobs for you.
Featuring 215,092+ Jobs in Full Stack Developer
Answer easy questions
215,092+ jobs across 15+ categories
Get your best job matches
Only hand-screened, legit jobs
Find a remote job faster
No ads, scams, or junk
“I was the first applicant for a remote marketing position that got listed on the company website the same day I applied. Had an interview within 48 hours!”