loader
Ibai Fernández

Case Study / The Product Is The Proof

Portfolio Ibai Fernandez: The Product That Proves The Pitch

This stopped being a static brochure the moment the repo became a real delivery system. The project now demonstrates how I work under pressure: rebuild in place, protect production, add guardrails before polish, and keep shipping while the system gets measurably stronger.

What you are seeing here is the result of a full hardening cycle: migration from cPanel to Netlify, replacement of the legacy PHP mailer with a Netlify Function plus Resend, content componentization, visual and accessibility regression coverage, media pipelines, and real production validation of the contact flow and analytics.

Playwright 29/29 green in CI
Desktop 93 PageSpeed
Accessibility 95 PageSpeed
Contact Flow Live validated in prod

Primary showcase panel reused in the home card. It signals what this project actually sells: not decorative code, but a release pipeline that survived hardening and now ships cleanly.

What Was Rebuilt, Exactly?

Platform Migration

The site was migrated from a manual cPanel + PHP flow to Netlify CDN with a Node-driven build pipeline. The old `ajax.php` endpoint is gone; the contact backend now lives in a serverless Netlify Function.

Safety Rails First

Security headers, honeypot, timing gate, optional Turnstile validation, and progressive CSP went in before launch polish. The form is designed to protect the inbox without lying about what the backend really does.

Testing As The Gate

This is no longer "looks fine on my machine" web work. Every push to `main` runs build, quality guards, accessibility checks, visual baselines, and a 29-test Playwright suite before Netlify receives the deploy.

Measured Performance

Fonts were de-blocked, non-critical CSS deferred, CSS/JS minified, media pipelines expanded, and PageSpeed re-captured after the hardening cycle. Desktop is already in a strong release band; mobile still has targeted LCP work ahead.

The Hardening Sequence

2026-03-02

Platform migration completed

cPanel retired, PHP removed, Netlify + GitHub Actions promoted to the source of truth.

2026-03-03

Accessibility and contrast passes closed

Heading hierarchy was corrected, color contrast hardened, and `color-contrast` became a blocking rule again.

2026-03-03

Performance cycle measured, not guessed

Minification and media coverage were closed, then PageSpeed was re-captured to confirm the post-hardening baseline.

2026-03-03

Production truth validated

The live contact flow was tested end to end: stable Turnstile UX, inbox delivery, and GA4 Realtime events confirmed in production.

Why This Sells More Than A Pretty Homepage

Engineering Surface

The repo itself proves the operating model: data-driven templates, deterministic builds, quality guardrails, and documentation disciplined enough for human collaborators and AI agents to work in the same system without chaos.

Hosting: Netlify CDN + Functions
CI Gate: GitHub Actions (single ci.yml)
E2E: 29 Playwright tests
Contact: Turnstile + Resend
Discovery: sitemap + llms
Status: production-validated

Human Value

This is the kind of Vibe Coding I sell: not "AI wrote a landing page", but a loop where speed is useful because the system is measurable, reversible, and protected by gates. The end product is not just UI; it is operational trust.

  • Fast iteration without breaking production
  • Visible proof of technical judgment, not just aesthetics
  • Launch readiness backed by metrics, tests, and real validation

What Should Be Added Next To Make This Even Stronger

Placeholder Video

60-second release walkthrough

Short screen recording showing the live homepage, the form submit flow, and the green CI run that shipped it.

Placeholder Image

Before / after PageSpeed board

Side-by-side evidence of the post-migration baseline versus the current hardened metrics.

Placeholder Image

GitHub Actions + Netlify proof chain

One visual capture showing quality gates, Playwright pass, and the production deploy step in the same story arc.

Placeholder Image

Realtime validation evidence

Final capture set: inbox delivery, GA4 Realtime contact events, and Turnstile UX behaving cleanly in production.

Break the Ice

Let's Get In Touch

Contact Me

Translate Button