Full-Stack · AI · Infrastructure
From system design all the way to the UI.
I design and ship LLM-native services end to end — hexagonal backends, agent platforms, and the React interfaces people actually use. Without handing it off.
Full-Stack · AI Engineering · Infrastructure · Product Design
About me
I think of myself as a problem solver first. The stack is just whatever the problem needs. That's meant designing the system, writing the backend that runs it, provisioning the infrastructure it runs on, and building the interface people actually see, on the same project. I care how that last part looks and feels, not just that it works: a feature isn't finished for me until the design is right too. My most recent project is an AI agent platform I built from the ground up: a system that can talk to different AI providers, gets used by other tools, and holds up the way production software should.
That's built on ten years of writing software that runs in production, for real users, at real scale. AI tools have changed how fast I build. They haven't changed who owns the design, the tradeoffs, and making sure it actually works. Based in Tampere, Finland; originally from Bilbao, Spain. I've been learning Finnish for four years now and can hold day-to-day conversations.
Skills
Where I've Worked
Languages
- SpanishC2
- BasqueA2
- EnglishC1
- FinnishB1
Domain
Programming Languages
Frontend
Backend & Architecture
Data
AI & Agents
Infrastructure & Sysadmin
Quality & Observability
Product & Collaboration
Experience
2025
Present
1 yr 6 mos
AI Engineering
- Built an LLM agent platform with a chat-based UI, in Python. One domain core, reused across a FastAPI backend, an MCP server and the chat adapters. Hexagonal architecture, enforced in CI by import-linter, with LangGraph agents running on a provider-agnostic LLM layer spanning OpenAI, Ollama, LM Studio and LiteLLM.
- Deployed a self-hosted AI inference stack as code: 34 Ansible roles covering Ollama, LiteLLM, Langfuse and open-webui, running behind Traefik on a zero-trust Docker network. Monitored with Prometheus, Grafana and Loki, and CI-tested with Molecule.
- Built agentic development workflows for an infrastructure-as-code repo: custom Claude Code skills and subagents, including an automated PR review that delegates Ansible roles to a specialist subagent and posts findings back to Gitea.
Stack
PythonLangGraphLangChainOpenAI SDKMCPClaude CodeOpenCodeAgentic workflowsSelf-hosted LLM inferenceOllamaLiteLLMLangfuseWhere
Tampere + remote🇪🇸🇬🇧
2025
Present
1 yr 6 mos
Fullstack Development
- Built production backend services in Python and TypeScript. FastAPI on hexagonal architecture, async SQLAlchemy with Alembic migrations, and REST APIs.
- Ran it like production software from day one: OpenTelemetry traces, metrics and logs into Grafana, Loki and Jaeger. Unit, E2E and mutation testing, CI/CD and code review.
- Took on AI consulting for SME and startup clients: designed LLM workflows and integrated tools, and trained individual users on AI and automation with measurable results.
Stack
TypeScriptPythonSQLAlchemyDockerOpenTelemetryReactNode.jsAlembicTraefikGrafanaNext.jsFastAPIAnsiblePrometheusHexagonal architectureTerraformLokiWhere
Tampere + remote🇪🇸🇬🇧
2025
Present
1 yr 6 mos
Product Design (UI/UX)
- Designed interfaces and interactions in Figma and took them all the way to a shipped React/TypeScript UI myself.
- That's backed by a decade spent building the interfaces real users actually touch.
Stack
TypeScriptFigmaReactUX/UIWireframingWhere
Tampere + remote🇪🇸🇬🇧
2025
Present
1 yr 6 mos
Sysadmin & Infrastructure
- Provisioned and configured a home-lab platform end to end with Ansible, on Proxmox: networking with WireGuard at the router and Tailscale at the service level, hosts, and the Docker services running on them. Packer builds the Debian images, Terraform manages the resources.
- Kept it reproducible with Molecule-tested roles versioned in Git, on top of straightforward Linux system administration.
- This is the ops layer the other independent tracks build on. The same infrastructure backs the self-hosted AI stack described under AI Engineering.
Stack
DockerLinuxAnsibleDevOpsTerraformPackerProxmoxWhere
Tampere + remote🇬🇧
2024–25
1 yr 1 mo
Full-Stack Developer
- Worked on wireless connectivity software for industrial and commercial IoT deployments.
- Designed and built the geolocation data visualization on the map from scratch, along with dashboards featuring interactive charts, in React, TypeScript and GeoJSON. Designed the wireframes in Figma and used them to align with stakeholders.
- Gathered product requirements and ran Agile project management in Jira.
Stack
TypeScriptJestFigmaReactVitestUX/UIViteReact Testing LibraryWireframingStorybookJiraGeoJSONWhere
Tampere + remote🇬🇧🇫🇮
Domain
IoT2020–23
2 yrs 9 mos
Full-Stack Developer
- Worked on an analytics platform for managing sales and revenue data, in a role centered on maintenance, refactoring and migrations, with some things built from scratch along the way.
- Built the dashboards and admin site in React, Redux, Node.js and PostgreSQL. Built the connections and data mapping across CRM systems, and improved internal tooling along the way.
- Designed and built an internal SDK. Took on tech debt and led modernization of the stack.
- Migrated the frontend and backend from JavaScript to TypeScript, and the infrastructure from Heroku to AWS on Kubernetes.
Stack
TypeScriptNode.jsPostgreSQLDockerCI/CDUX/UIReactMicroservicesKubernetesGitHub ActionsTeam coordinationJavaScriptREST APIsAWSCode reviewScrumStorybookWhere
Espoo + remote🇬🇧🇫🇮
Domain
SaaS & Analytics2018–20
1 yr 11 mos
Full-Stack Developer
- Worked at a fast-growing European fashion startup, on the team responsible for building features to match business needs.
- Worked in Scrum. Contributed to the Angular.js to React migration and the move from a Groovy monolith to a microservices ecosystem on hexagonal architecture, with a BFF layer on Spring Boot. Worked on the initial funnel and payment processing with Stripe, and designed and built an A/B testing platform and strategy from scratch.
- Built features for the full user journey, from first landing on the platform through payment and product tracking.
- Worked closely with product, marketing and tech stakeholders in a fast paced environment, and took part in interviewing candidates and evaluating technical skills during hiring.
- Was part of the tech team growing from 10 to 60 people in under 2 years.
Stack
ReactJavaCI/CDTeam coordinationJavaScriptGroovyJenkinsA/B testingStorybookSpring BootCode reviewScrumReact NativeMicroservicesCypressStripeAngular.jsWhere
Bilbao + remote🇪🇸🇬🇧
Domain
Fashion & RetailLogisticsMarketingPaymentsProduct Design2016–18
1 yr 10 mos
Computer Scientist
- Did requirement analysis and software design, then built Python data science solutions and fullstack web applications with React.js, also handling DevOps for the team. Co-authored a research paper on the data science work, submitted for peer review.
- Administered the Confluence platform and its systems, coordinated IT activities across departments, and provided general IT support.
Stack
ReactPythonDevOpsCI/CDTeam coordinationJavaScriptConfluenceQtWhere
Lund🇬🇧
Domain
Big Science2015–16
1 yr 9 mos
Founder & Team Lead
- Started the project from scratch as part of my bachelor's thesis, then secured a public grant that let me bring on a team, which I led.
- Did the software design and development myself early on, in Node.js, Angular.js and MongoDB, and handled DevOps and Linux system administration.
- Coordinated the team, handled the administrative side of running the company, and helped shape the business model.
Stack
JavaScriptNode.jsMongoDBLinuxCI/CDAngular.jsREST APIsJenkinsWhere
Bilbao🇪🇸
Domain
Data Science
Education
University
Courses
Completed all course lessons (audit, no certificate).
Get in touch
Open to new opportunities, collaborations, and interesting problems. Reach out through any of the channels below.