Selected work
Product design UX/UI
Research, flows, interface and visual system. The product before it exists.
09 projects-
Open the project GAME TV · Retina
01
GAME TV · Retina
Broadcast platform · sequence editorThe platform that programmes what plays on the screens of the 230 GAME stores: a timeline sequence editor, six modules and a Figma design system. Preparing a campaign went from three hours to 45 minutes, and GAME now sells it to other chains under the Retina brand.
-
Open the project GAME Staff · Employee app
02
GAME Staff · Employee app
Internal productPortal and app for the workforce: clock-in, hours, holidays, tickets and internal comms in a single view. The whole company uses it: about a thousand people, from head office to the 230 shops.
-
Open the project Traveler, app for iOS and Android
03
Traveler, app for iOS and Android
Benchmark, research, UX/UI, design system and bilingual prototypeSelf-guided tours by local guides, on video and audio, for less than a coffee. Eleven apps analysed, personas, flows, wireframes, a system with language variables, 52 screens for iPhone and Android in Spanish and English, and the prototype on video.
-
Open the project Olmo app for iOS
04
Olmo app for iOS
Research, UX/UI, design system and AR prototypeA design furniture store app that answers the question before paying for a sofa: will it fit in my home? Research, a ten-brand benchmark, wireframes, a design system, a real-scale 3D AR viewer and the clickable prototype on video.
-
Open the project GAME · Website and app redesign proposal
05
GAME · Website and app redesign proposal
UX + CRO audit · case studyAn integrated study: interviews, user testing, survey, analytics, heuristics, CRO, WCAG accessibility and benchmarking. From the new architecture to the sales impact.
-
Open the project Iron District · UX audit and research
06
Iron District · UX audit and research
UX research · product definitionBenchmarking of 21 operators, review mining across 14 clubs and a digital audit of 11 websites. From the market gap to the architecture, the pricing and the scorecard.
-
Open the project Kacho Cano · Audit and UX/UI design
07
Kacho Cano · Audit and UX/UI
Competitive audit and UX/UI designFive competitors audited and not one opens with moving image. That is where the redesign comes from: the reel leads, the form asks for dates, and the rotary dial is measured by circle fitting.
-
Open the project GMF Reformas · Digital audit
08
GMF Reformas · Digital audit
CRO + UX audit · reportAn audit of conversion, competition, customer and accessibility for a renovation firm's website: 30 findings, 16 competitors and a phased plan.
-
Open the project Portfolio 2026 · Audit of my own site
09
Portfolio 2026 · Audit of my own site
CRO + UX audit · UI design and systemThe same method I apply to a client, applied to this site: 40 pages and 4,090 lines of code reviewed, 17 prioritised findings and the failing grades published unfiltered.
Front-end development
Responsive sites and emails written by hand: semantic HTML, modern CSS and library-free JavaScript.
08 projects-
Open the project Retina · GAME TV — interface rebuild in Next.js
01
Retina · GAME TV — interface rebuild in Next.js
Interface rebuild · live demoA rebuild of four screens from Retina, the platform that schedules content across the 230 GAME store screens: the sequence editor with its timeline, the sequence list, stores and devices, and the permissions matrix for the two user roles. Built with Next.js, React, TypeScript and Tailwind, carrying the semantic tokens of the original design system into the Tailwind theme. I designed and built the original product at GAME España; this rebuild is my own work, with invented data and no company code or assets. View live ↗ · View the code on GitHub ↗
-
Open the project SKÅL Madrid · The site in Angular
02
SKÅL Madrid · The site in Angular
Audit implementation · live demoThe website of the only Norwegian restaurant in Madrid, rebuilt in Angular 21 without Zone.js and prerendered: twelve actions from a UX/CRO audit, starting with the form that confirmed bookings nobody ever received.
-
Open the project EdG Design System
03
EdG Design System
Component library · living documentationThe system behind this site, taken out: 37 components and 57 tokens, each with a working example and the exact code rendering it.
-
Open the project Kacho Cano
04
Kacho Cano
Film portfolioA site for a cinematographer: the reel leads. Static, no framework, no build step.
-
Open the project Kacho Cano · Design system
05
Kacho Cano · Design system
Component library · living documentationThe system his site is built with: 28 components, tungsten 3200 K and daylight 5600 K, and a rotary dial measured against the photograph.
-
Open the project Djehuty Project · The site in React
06
Djehuty Project · The site in React
Whole-site rebuild · live demoI ran this site from 2006 to 2019 — HTML, CSS, JavaScript and the PHP templating — while digging with them as a ceramics specialist. Someone else has run it since 2019 and it now has a different design, so I rebuilt mine in React: 1,269 pages, my stylesheets untouched.
-
Open the project My little baby
07
My little baby
Responsive newsletter · live demoAn email solved at three widths, with the built piece open so you can resize it yourself.
-
Open the project Responsive newsletters
08
Responsive newsletters
Email marketing · HTML + CSSNested tables, pixel widths and media queries: what it takes for an email to arrive whole.
Graphic design
Identity, editorial, campaign and infographics. What gets printed and what gets sent.
11 projects-
Open the project BAEDE · Cover redesign proposal
01
BAEDE · Cover redesign proposal
Cover system · ten versions and jacketThe bulletin’s cover solved as a system rather than a plate: acronym at the head, an interchangeable line illustration, ten versions on one grid and the full print-ready jacket.
-
Open the project Kacho Cano · Identity
02
Kacho Cano · Identity
Logotype, symbol and usage rulesThe O is not a letter, it is a lens. The whole logotype comes out of one measurement —the cap height— and holds from a page header down to a 24-pixel stamp.
-
Open the project GMF Reformas · Brand identity
03
GMF Reformas · Brand identity
Logo, stationery and applicationsA new brand for a renovation firm with 27 years of history and no identity of its own: logo, neutral palette and the pieces it actually uses —card, letter, envelope and invoice—.
-
Open the project EdG · Business card
04
EdG · Business card
Stationery · 55 × 85 mmThis portfolio's design system, printed: the same tokens, the three discipline colours and CMYK artwork with 3 mm of bleed.
-
Open the project KAI · Kallisto AI
05
KAI · Kallisto AI
Brand identityIdentity for an AI-for-drones company, with three sub-brands that had to coexist: SKY, SHIELD and SEG.
-
Open the project GAME Staff · Launch graphics
06
GAME Staff · Launch graphics
Internal campaignInternal social pieces and supporting documentation: the part that tells the workforce the tool exists.
-
Open the project Ceramic reports
07
Ceramic reports
Scientific editorial · InDesignAn excavation report read front to back and, at the same time, opened at one exact page to check a sherd.
-
Open the project Djehuty dossiers
08
Djehuty dossiers
Campaign dossiersThree excavation campaigns, three different covers and a system that keeps them reading as one collection.
-
Open the project Doctoral theses
09
Doctoral theses
Academic editorial · two volumesTwo volumes — text and plates — with the critical apparatus, the vector drawings and the object photography all made in-house.
-
Open the project VOGA banners
10
VOGA banners
Campaign and affiliate setThe same campaign as a panoramic hero and as a 120-pixel skyscraper. Going smaller means recomposing, not scaling.
-
Open the project Infographic
11
Infographic
Sample piece · IllustratorEvery element drawn separately and assembled afterwards, with the call-outs placed so no two leader lines cross.
No projects in this discipline.
Yours could be next
Tell me what is stuck. If I am not the right person I will say so, and I usually know who is.
Start a projectStart a project ↗