(01) — The stack
What I build with, and when I pick each one
- Angular
- For applications with real state, long forms and teams that need the structure a framework imposes. TypeScript, standalone components, services and lazy-loaded routes. It is the stack behind the SKÅL Madrid rebuild.
- React
- For interfaces made of pieces that change fast. React 18, React Router and Vite. It is the stack I rebuilt the Djehuty Project site with: 1,269 pages and 38 routes in 224 KB of JavaScript.
- Next.js
- React with server rendering and file-based routes, for products that need SEO and a light first load. It is the stack behind the Retina · GAME TV rebuild.
- TypeScript
- By default on both. A wrong type shows up as you type it; wrong data shows up in production.
- Semantic HTML5
- The base for everything else. Landmarks, headings in order, labelled forms. That is half of accessibility and half of SEO, for free.
- Modern CSS
- Grid, container queries, custom properties,
color-mix,clamp(). Fluid type and light and dark themes out of the same token set. - Tailwind CSS
- Utilities over a theme of my own: the design system's semantic tokens live in the configuration, not scattered through the templates. The Retina rebuild is styled this way.
- Framework-free JavaScript
- When a project does not need a framework, I do not give it one. This portfolio runs without one.
- Vite · Git
- Build, version control and static deployment. Sites served from a CDN that do not fall over on a Sunday.
- GitHub · Vercel
- A repository with its history and continuous deployment: every published change can be seen live, and the code can be read, not just believed.
(02) — What is included
What a front-end engagement contains
- Implementation from the design Figma to browser, with the states the mock-up never shows: loading, empty, error, offline, absurdly long text.
- Component libraries in code The design system, built and documented. Tokens that come from one place and components that do not get duplicated by the third sprint.
- WCAG 2.2 AA accessibility Complete keyboard paths, visible focus, measured contrast and screen readers actually tested, not assumed fine.
- Performance and Core Web Vitals JavaScript weight, images served at the right format and size, fonts that do not block paint, LCP and CLS watched.
- Motion and interaction Movement that explains something, respectful of
prefers-reduced-motion, and that does not cost thirty frames. - Responsive emails and newsletters The HTML that still has to be written with tables so Outlook does not break it. Unglamorous, very necessary.
- Migrations and rescues Legacy code that has to move without losing its URLs or its content. I have done it with 1,356 PHP files.
- Technical SEO Semantic markup, structured data, hreflang, sitemap and metadata. This very site is the example.
(03) — The proof
Eight front-end cases, with the code explained
See the whole discipline ↗(04) — The difference
The designer and the developer are the same person
The handover between design and development is where a digital project loses the most money, and it almost never appears in the budget. It goes on the meeting to explain the mock-up, on the component implemented similarly but not identically, on the four states nobody drew and somebody had to invent on a Friday.
When the same person designs and builds, that cost disappears: the states get drawn because they have to be written, the layout adapts to the browser rather than the other way round, and the Figma system and the code library do not drift apart three months in.
If your team already has front-end people, it works too: I hand over the design with the implementation already thought through, and talk to whoever is going to build it in their language, not mine. See the product design service ↗
(FAQ) — Frequently asked
What people ask before hiring me
Does this fit what you need?
Tell me what you are building and I will tell you plainly whether I am the right person for it. I reply within one working day, Madrid time.
Let's talkLet's talk ↗