Barcelona · open to remote 27 years in software · since 1999 AI applied to product and management

Nil Portugués Calderó · Engineering Leader

I own engineering for business-critical systems.

Accountable for engineering across a business line: technical direction, delivery, hiring and budget, and the development of the leads within my team. Systems that revenue depends on: commerce and payments, experimentation, search and data platforms.

Business lineengineering for Paper owned end to end, from roadmap to production
Organisationtwo teams built from scratch, hiring plans tied to the product roadmap
Leadsfrontend, backend and QA leads developed within the team
Budgetestimated with leadership and owned in execution

Experience

Selected experience

From founding my first website in 1999 to tech lead, CTO and engineering manager. The full detail is available on LinkedIn.

Career

Engineering Tech lead Leadership AI projects
The Knot Worldwide
Adsmurai
Trovit
Bandit
AI projects
20172019202120232025now
  • TK

    The Knot Worldwide

    Jun 2021 — now · Remote / Barcelona

    Senior Software Engineering Manager · Paper

    Engineering owner · Paper6 direct reports3 leads developedHiring and budget

    The global leader in wedding marketplaces (The Knot, WeddingWire and Bodas.net), with over 20 million monthly visitors.

    • Own engineering for Paper, a business line within The Knot Worldwide's ecommerce segment: prioritisation, technical direction and delivery of every initiative, phased by revenue impact and shipped incrementally behind feature flags.
    • Built the organisation from scratch: two teams, Node.js + React and PHP/Drupal, merged into one after reskilling the PHP engineers in React and Node. Hiring plans tied to the product roadmap; budget estimated with leadership and owned in execution.
    • Developed three leads (frontend, backend and QA) through OKRs, performance and salary reviews, and career paths.
    • Stakeholder and vendor management: reporting to leadership, outsourced vendors and alignment with the Data team.
    Case studyThe engineering behind Paper's growthTeam building · Commerce · Experimentation · Delivery under constraints

    Challenge

    Paper needed to move off its Drupal platform and grow its online channel in a category considered to be in decline, with a focus on The Knot and WeddingWire in the US.

    What I led

    • Migration from Drupal to Next.js and TypeScript, the first multi-tenant application shared by The Knot and WeddingWire.
    • Checkout rescue: the project was transferred to my team in August 2022, 18 months behind schedule and without checkout or ecommerce tracking in place. We built both in three months and met the December delivery date. Payments run on Stripe and, since 2026, also on Klarna, added at the team's suggestion.
    • An experimentation programme of 8–10 tests a year across the conversion funnel, self-service banner and copy tools for marketing, and a rule-based, automated Google Ads feed.
    • Automated QA with E2E tests from the team's first day, the first in the ecommerce area, led by the team's QA engineer, who progressed from associate to QA Lead.
    • European pilot on Bodas.net, Mariages.net and Matrimonio.com: outsourced development, with incident and vendor management under my responsibility until its closure in May 2025, which included decommissioning the European verticals' code.

    Impact

    • Year-over-year revenue growth in a category considered to be in decline.
    • The checkout remains in production and processes all of Paper's online revenue.
    • The automated QA approach was adopted across the ecommerce area, beyond the Paper team.
    Next.jsTypeScriptStripeKlarnaGraphQL
    Case studyEmbedding AI in the team's operating model: from software engineers to product engineersCulture change · Quality · Productivity

    Challenge

    Ensure AI transforms how the entire team operates, beyond individual productivity.

    What I led

    • A shift in team mindset from software engineers to product engineers.
    • Initiative plans, epics and story maps derived from PRDs, and AI-generated reporting.
    • Errors resolved as soon as they are detected, with E2E coverage extended through AI-generated tests.

    Impact

    • All annual engineering objectives met, with a higher volume of experiments.
    • Recurring errors and constant alerts eliminated, making on-call predictable.
    • Improved code quality, validated by Snyk and other analysis tools.
    AI agentsE2E testingSnyk
  • AD

    Adsmurai

    Apr 2019 — Jun 2021 · Barcelona

    Senior Technical Team Lead · previously Senior Java Software Engineer

    Data GuildShared data platformFive-person team

    Marketing technology: paid media automation and creative optimisation.

    • Identified that three teams were duplicating the same data ingestion and made the case to leadership for a shared Data Guild, whose platform became the foundation of Ads Composer.
    • Led a five-person team: hiring, OKRs, feedback and delivery.
    • Led the modernisation of MediaPlanner and Ads Composer: legacy Vert.x and Tomcat applications moved to Spring Boot microservices, with refactoring based on SOLID and DDD.
    • Introduced Elasticsearch as the core search and analytics engine, alongside new data APIs and a front-end migration to React + TypeScript.
    Case studyIdentifying the need for a data team, creating it and building the data lakeCross-team influence · Shared capabilities · Data platform

    Challenge

    Campaign data from Facebook, Instagram, TikTok and Snapchat was fragmented, three teams repeatedly reimplemented the same ingestion, and the existing Data team, focused on computer vision for feed labelling, operated in isolation.

    What I led

    • Made the case to leadership for a Data Guild: a four-person team that integrated the existing Data team.
    • Built a data lake with Airflow and Snowflake that centralised campaign data from all four platforms. Snowflake was selected by other stakeholders; I designed and implemented the pipelines.
    • Decided to migrate the UGC project from Vert.x to Spring Boot for its simplicity and better documentation.
    • Delivered with a five-person team operating on a startup model.

    Impact

    • Three teams stopped duplicating ingestion and moved to a single source of truth.
    • The foundation of Ads Composer, a product that provides clients with metrics and identifies the optimal segments for investment.
    • Faster, more reliable delivery of data projects.
    AirflowSnowflakeSpring BootCassandraDruid
  • TR

    Trovit

    Dec 2017 — Apr 2019 · Barcelona

    Technical Team Lead · previously Senior Software Engineer

    Billing-critical tracking57 portals3 verticals

    Global classified-ads search engine aggregating listings from thousands of sources.

    • Owned engineering for search and tracking, business-critical systems behind 50% of the company's global revenue, across 57 country portals and 3 verticals.
    • Led the team: hiring, feedback and biannual performance reviews.
    Case studyMaking the systems billing depended on predictableBilling-critical tracking · Kafka · Email delivery · Search APIs

    Challenge

    Tracking underpinned the billing model. Events were produced in PHP without strict typing, every Kafka message was typed manually and, under company policy, the Java consumer performed no validation. Errors reached the dataset and required manual recomputation through ad hoc scripts.

    What I led

    • Rebuilt the tracking API and moved validation upstream: a Java integration suite, embedded in the deployment pipeline, that ran the consumer and simulated every message across the flow (PHP, Kafka, Kafka Streams in Java and Scala, data lake) before release to production.
    • Rebuilt the company-wide email service, with a measured volume of around 100,000 emails a day: an unmaintainable legacy system, with IPs on spam blacklists and no defined SLA. I established SLAs for delivery speed and machine and IP usage.
    • Search API for every vertical across 57 countries, with measured typical traffic of 30,000 requests per minute. I set a sub-100 ms latency target: in-memory endpoints responding in ~1 ms, caching for the rest, and Grafana monitoring by endpoint and country.
    • Decoupled the frontends from the legacy search engine, migrating from PHP to Next.js and introducing quality and SEO tests where none existed.

    Impact

    • Eliminated the recurring manual recomputations of billing data.
    • IPs removed from spam blacklists, with deliveries within SLA.
    • Full traceability of traffic peaks by endpoint and country.
    PHPKafka StreamsJavaScalaGrafana
  • BA

    Bandit

    Feb 2017 — Dec 2017 · Barcelona

    CTO · previously Backend Tech Lead

    HR-tech startup focused on talent acquisition through gamification.

    • Technology strategy, infrastructure and backup resilience planning.
    • CRM migration from Salesforce to SugarCRM to reduce costs. Managed the wind-down of operations in Spain: layoffs, documentation and technology transfer to the Latin American subsidiaries.
    • Technical feedback for the sourcing and talent acquisition team.
  • BC

    Barcelona tech companies

    2006 — 2016

    Developer → Senior Engineer → Tech Lead

    TravelMarketplacesInfrastructureOpen source

    The years in which I moved from developer to tech lead, alongside my degree and university teaching.

    • letgo — Tech Lead, Marketing: built the marketing automation systems from scratch (push notifications and email) and their AWS infrastructure.
    • Atrapalo.com — Technical Lead: led development of the Flight + Hotel API, applying Hexagonal Architecture and DDD.
    • IDODI — Systems and backend: migrated the infrastructure to AWS, set up Varnish and the monitoring and backup automation.
    • T-Systems Iberia — Portfolio & Solution Design: supported the design of solution proposals for clients and produced the department's weekly statistical reporting.
    • Open source: published PHP libraries for SQL and standards-compliant APIs, with over 1,300 stars on GitHub.
  • PS

    PokemonSafari.net

    Apr 1999 — Mar 2013

    Founder & Lead Developer · acquired by BlogOcio.net

    Where it startedSole founderAcquired in 2013TV and press coverage

    My first website: an online content and community site that I founded and ran on my own for 14 years.

    • Sole owner of the entire business for 14 years: content, community, development, infrastructure and operations, monetised through advertising.
    • Gained the attention of Nintendo and The Pokémon Company, and was featured on television and in magazines at the time.
    • Evolved the architecture as the site grew: from Server Side Includes to PHP, a custom CMS on PHP and MySQL, caching with APC and Memcached, and Apache replaced by Nginx.
    • Negotiated and closed the sale of the site to BlogOcio Media SL in March 2013.
    • The project where I learnt the LAMP stack, and the start of my career in software.

Full experience on LinkedIn →

How I lead

Engineering focused on business outcomes

Four principles behind how I run engineering.

01 · PRIORITISATION

Revenue first, delivered in increments

I break every initiative into phases and start with whatever has the greatest impact on revenue, shipping small increments continuously, behind feature flags and measurable from day one. When the checkout was transferred to my team 18 months behind schedule, we prioritised checkout and ecommerce tracking, the two pieces Paper needed to sell and to measure, and met the December date.

02 · OWNERSHIP

Teams accountable for outcomes

I assign teams complete problems rather than isolated tasks, which enables them to go beyond the initial scope. Adding Klarna, for example, was pushed forward by the team: once they showed it was feasible, it was added to the roadmap.

03 · GROWTH

Developing people and future leaders

Clear expectations and real responsibility from day one. Three people on my team have grown into lead roles. When our QA engineer joined, we set the move from manual to automated testing as a core objective; today they are QA Lead.

04 · DECISIONS

Technical decisions driven by business needs

I prioritise the problems with financial impact and resolve them within existing constraints. At Trovit, company policy prevented validation in the Java consumer; I moved validation into the deployment pipeline, ending the recurring manual billing corrections.

Technical practice

Applied AI

Applied to both engineering leadership and product development.

In engineering leadership

  • Initiative plans, epics and story maps drafted from PRDs.
  • Custom skills for board reviews, strategy writing and team health.
  • End-to-end test coverage scaled with AI-assisted generation.
  • Technical docs kept in sync with the actual code.

In product development

  • Multi-level RAG systems over video libraries, 100% local.
  • MCP servers connecting private knowledge to Claude or Cursor.
  • Agent-driven development, with custom skills and an AGENTS.md per project.
  • Python automation over real-time data.
rag · local · llama.cpp
Which video explains how to validate an idea before building it?
▶Video 12 · 04:31 ▶Video 37 · 18:05
Ask anything…⏎

Featured project: chat with sources over video libraries

100% local multi-level RAG with a conversational interface, streaming answers and an MCP server. Illustrative example.

▶YouTube
≡Subtitles
▦Chunks
⋯Embeddings
◉pgvector
⟁LangGraph
✦Local LLM
✓Answer + citations

Lab

Side projects

Independent projects, grouped by type.

Games

Unity · C#
2

Beat 'em up

in development

Inspired by 16-bit classics.

UnityC#ShaderLab

Top-down run'n'gun

in design

Single player or local co-op.

UnityC#Game design

Mobile apps

React Native · Expo
1

Daily quotes app

prototype

Onboarding, i18n, SQLite, notifications and widgets.

React NativeExpoSQLite

Applications

Web · AI · tooling
3

Answers with sources and the exact minute, 100% local, with an MCP server.

FastAPILangGraphNext.js

Multi-tenant SaaS base

ongoing

Refactor to React 19 and composition patterns, with Prisma and React Router.

React 19PrismaTypeScript

Generates queries, mutations, subscriptions, fragments and types for any schema.

TypeScriptGraphQL

Open source

1300+

GitHub stars on my PHP libraries for building SQL and producing standards-compliant APIs (JSON API, HAL, Problem Details).

See all repositories →

Stack

Technologies

Languages

JavaPHPTypeScriptPythonNode.jsC#

Frameworks

Spring BootVert.xSymfonyReactNext.jsFastAPIDrupal

Search

ElasticsearchAlgoliaSphinxSolr

AI

LangGraphLangChainpgvectorllama.cppMCP

Data

AirflowKafkaSparkDruidCassandra

Payments and cloud

StripeKlarnaBigCommerceAWSGCPDocker

Education

🎓
Computer EngineeringLa Salle BCN · Universitat Ramon Llull. Final project on search engine optimisation, graded with first-class honours.2005 — 2013
📊
Business programme · ThePowerMBAOnline programme in business administration and management (non-accredited).2020 — 2021
🏆
Winner · Startup Weekend BarcelonaWon the competition after pitching to a panel of investors: a hackathon-style event building a project over 72 hours, from Friday to Sunday.2016
🧑‍🏫
Teaching assistant · La Salle BCNUNIX systems and web projects.2010 — 2013

Languages

CatalanNative
SpanishNative
EnglishFull professional · Cambridge CAE
FrenchBasic · DELF A1

Contact

Get in touch

Based in Barcelona and available for remote positions. For Director and Head of Engineering roles with ownership of a product or business line, please contact me via LinkedIn.