All workCase study

Cofers.mx

A homepage redesign and a new page, built from the client's Figma designs and adapted for mobile, along with a full performance optimization.

CLIENT
Cofers.mx
SECTOR
Corporate treasury software
ROLE
Development
TIMELINE
~2 weeks
01 / THE PROBLEM

A homepage that loaded slowly, with unoptimized assets

The WordPress/Elementor page carried years of accumulated page-builder weight: uncompressed images, unused plugin assets and animation effects added piecemeal over time. The client's design team had already produced a complete redesign in Figma, so the optimization work meant improving load times for the pages while respecting the assets they rely on.

THE CONSTRAINTS THAT SHAPED EVERYTHING
  • No framework migration, stay on WordPress/Elementor, the tool the marketing team already knows and edits day to day.
  • Match the Figma designs faithfully, including scroll and hover-triggered animations, not just the static layout.
  • Keep the software integrations and plugins they work with, even where they noticeably slow the site down.
02 / WHAT I BUILT

A new homepage and one additional page, built from Figma with meticulous performance optimization

Custom elements and animations to match the Figma design, which Elementor doesn't offer out of the box, image and video compression and optimization, plus a new page built the same way so the marketing team can keep editing both without touching code.

03 / DECISIONS

Three decisions, and what each one cost

01

Custom widgets instead of an animation plugin

Animation plugins for Elementor tend to ship every effect they support, whether or not a given page uses them. Building the scroll and hover sections as purpose-built widgets meant the page only loaded the JavaScript this design actually needed.

TRADE-OFFMore build time up front than installing a plugin, and the client's team can't add new animation types themselves without a developer, which is reasonable for a homepage that doesn't change week to week.
02

Reserving explicit dimensions instead of only compressing images

Compression brought the weight down, but several images still caused layout shift (CLS) because they had no declared `width`/`height` and the browser couldn't reserve the space before loading them. Setting explicit dimensions is what actually stabilized the score, not file weight alone.

TRADE-OFFAny new image the marketing team uploads with different proportions to the original can reintroduce CLS if the declared dimensions aren't updated.
03

Animated WebP instead of Lottie animations

The design called for transparency in the animations. The obvious path was video (WebM/VP9 with an alpha channel), and that's how it was built first. But the HTML <video> element doesn't composite the alpha channel in practically any browser, no matter that the file encodes it correctly. A real limitation of the web platform, not an encoding mistake. Animated WebP solved it at the root: it renders as an image, composites transparency natively, and depends on no client-side library or script.

TRADE-OFFYou lose the ability to rescale the animation without quality loss or to change colors from code; any visual adjustment means re-exporting the whole file rather than tweaking parameters.
04 / RESULT

Measured with PageSpeed Insights, under the same simulated conditions (Moto G Power, slow 4G)

~80PageSpeed performance was 30
~3.5sLargest Contentful Paint was 16.1s
~60%Reduction in page weight from replacing heavy animations with optimized formats
2Pages rebuilt on the new system

The goal wasn't just to bring the load times down, but to keep them down without constant technical intervention: lightweight widgets, images with their dimensions reserved and animations in native formats, so the marketing team could keep publishing without reintroducing the same performance problems.

NEXT CASE STUDY

MyDebts

A complete demo of an application for managing debts between individuals, with debts automatically flagged as overdue and shareable links that need no sign-up.

Read more