Barcelona / full-stack / automation, internal tools, applied AI / 3 years of experience

Víctor Puerta

Full-stack developer. Most days I'm building internal tools, automation, or something with AI.

I build full-stack software end to end: interfaces, APIs, data systems, and the AI workflows that connect them.

It's not flashy work, but it's the kind that makes a team faster: less repetition, fewer manual steps, and systems that are easier to maintain.

Selected work

Projects

Agent infrastructure Role: Tooling architecture

Agent Tooling

One governed gateway for every coding agent in the company. Codex, OpenCode, Cursor, or Claude connect to a single /mcp endpoint that enforces the catalog, per-user grants, and credential delivery, and audits every authorized call.

ContributionDesigned the catalog and grants model, the Portal API and UI, and the custom MCP adapters for GitLab, Jira, Jenkins, SonarQube, and internal databases.

ImpactGives teams a single governed endpoint for agents, with identity, policy, and audit enforced centrally instead of per-client setup.

StackFastAPI, MCP, Next.js, Pydantic, and Docker Compose

Internal pipeline + LLM Role: Data pipeline + product

UES Catalog

An internal pipeline that turns GitLab projects into a searchable technical catalog, so knowledge scattered across repositories is easy to find and reuse.

ContributionDefined the full pipeline: extraction, LLM enrichment, classification, API, and interface.

ImpactAnswers "have we built this before?" without opening repositories one by one.

StackPython, GitLab API, Spring Boot, MySQL, Next.js, and Docker

Private system Role: Architecture + full-stack

Operational Memory

A local-first system that gives agents durable memory: projects, tasks, and decisions stay available across sessions instead of dying with the context window.

ContributionDefined the architecture and built the memory layer, semantic retrieval, and MCP tooling around the workflow.

ImpactReduces context load between sessions and makes project knowledge more reusable.

StackFastAPI, Next.js, Postgres, pgvector, Ollama, and MCP

Private desktop product Role: Desktop development

BIA

A desktop application that supports meeting and documentation workflows.

ContributionBuilding the product end to end.

ImpactBrings an internal workflow into one focused application.

StackElectron and TypeScript

Interactive narrative atlas Role: Product + frontend

Antes de La Odisea

An interactive atlas that turns a video essay about The Odyssey into a navigable narrative map, with characters, relationships, and places synchronized with the YouTube player as the narrative clock.

ContributionDesigned the narrative model and built the deterministic graph layout, edge routing, and progressive reveal synced with the video chapters.

ImpactTurns a 19-chapter video into a structured atlas that can be explored, not just watched.

StackNext.js, TypeScript, React Flow, Dagre, and YouTube IFrame API

Personal tooling Role: macOS + product

FocusGate

A macOS menu-bar app for strict focus sessions: it blocks distracting domains through NextDNS across Mac and iPhone, and an active session cannot be stopped or reconfigured until the timer runs out.

ContributionBuilt the menu-bar app, a CLI, and an MCP server over shared state, plus a watchdog that re-applies blocks if settings change mid-session.

ImpactTurns willpower into infrastructure: once a session starts, the only way out is through.

StackSwift, SwiftUI, NextDNS API, and a local MCP server

Native iOS Role: iOS + product

Closet Native

An iOS wardrobe app with AI vision, outfit generation, and a usage calendar, designed so cataloging and recommendations fit into a real daily routine.

ContributionBuilt the native experience and the modular architecture behind cataloging, recommendations, and subscription flows.

ImpactTurns vision and generation capabilities into an everyday product experience, not an isolated demo.

StackSwiftUI, async/await, LLM vision, Supabase, and modular architecture

Professional background

Experience

Software Engineer

Eurecat

Full-stack work at Eurecat, a technology center, across client and R&D projects: data pipelines, APIs, technical interfaces, and AI-based workflows. Alongside delivery, I have built internal tools, standardized project setups, and helped make AI a normal part of the engineering workflow.

Development Trainee

Escola Port Barcelona

Implemented new web features, improved interactivity, and adapted WordPress work to the needs of the project and the team.

Formal training

Education

Computer Engineering

Universitat Pompeu Fabra

Training focused on software engineering, analysis, architecture, and systems development.

Higher Technician in Development of Web Applications (DAW)

Higher vocational qualification

Two-year vocational qualification completed after Bachillerato, with a hands-on foundation in frontend, backend, databases, and web application development.

Working style

How I work

My starting point is full-stack development. I work across frontend, backend, APIs, data flows, and product work, especially when software needs to solve a real client or product problem.

Alongside delivery, I usually improve the way engineering work gets done: internal tools, documentation, automation, and shared conventions that save everyone time.

I'm interested in applied AI in the same practical way. I care less about novelty than about where it actually helps, where it needs limits, and how it becomes part of everyday engineering work.

What I work on

Data pipelines and AI workflows

Extraction, classification, enrichment, and retrieval of technical context.

Internal tools and automation

Small tools and workflows that give hours back by cutting setup, repetition, and manual work.

Agent tooling and integrations

Tooling and integrations that help teams adopt agents with clearer conventions and less friction.

Backend systems and architecture

APIs, services, and system design for products that grow without losing clarity.

Applied AI

Moving from demo to real workflow, with context, guardrails, and human review where needed.

contact

Get in touch

Open to interesting problems and good teams. Email is the fastest way to reach me.