Maluma.online
Complete redesign of the artist's site, focused on real-world performance, two languages, and an admin panel the marketing team uses without technical training — no editorial change goes through code.
The artist's site loaded slowly, needed to ship in two languages, and any editorial change required a developer. The marketing team was blocked on every release and the international audience saw a site that wasn't for them.
- LCP of 4.2s on mobile, field data (not lab) — users bouncing before seeing the hero.
- No multilingual support: 40% of the international audience saw Spanish-only content.
- Every editorial change went through a developer — marketing was stuck waiting on tickets to publish a post or swap an image.
How I tackled it
Technical audit
Real-world measurements with the Web Vitals API across 3 countries. Identified the actual bottlenecks (not the assumed ones) and turned the report into a prioritised backlog the team could ship sprint by sprint.
Multilingual architecture
Migration to a multilingual setup with WPML, configured hreflang correctly, segmented sitemaps per language, and structured data so the international audience finally landed on the right URL.
Performance budgets
CI with budgets that fail the build if exceeded. Lazy-loading on heavy media, predictive prefetch on the artist's catalogue, and route-level code splitting. Every PR now defends the LCP target on its own.
Launch + monitoring
Zero-downtime migration with Cloudflare Workers in front. Active monitoring for the first 4 weeks post-launch, daily Web Vitals report to the team, and a rollback plan for any release that breaks the budget.
What happened next
Performance is not a feature — it's a constraint that shapes every decision. We rebuilt with a performance budget that fails the build if exceeded.