Skip to main content

90+

Lighthouse score on migrated paths

Case study · Gifting

Multi-Generation Platform Modernization for a US Gifting Brand

A national gifting brand had layered a decade of platform decisions on top of each other — JSP templates fronting an IBM CMS, monolithic backend services, and a frontend that struggled on Lighthouse.

Next.jsNext.jsReactReactMicro-frontendsSpring BootSpring BootJavaJavaAWSAWSJenkinsJenkins

Project details

Client
Enterprise gifting brand (multi-channel)
Industry
Gifting
Services
Platform Engineering · Frontend Modernization · Microservices · AI Integration
Timeline
Multi-year, ongoing — phased delivery, no big-bang cutover
Year
2017–ongoing

The challenge

What we walked into.

An enterprise US gifting brand had layered a decade of platform decisions on top of each other. The storefront was JSP templates fronting an IBM CMS, the backend was a monolith with tight coupling between order, catalog, and fulfillment, and the frontend struggled on Lighthouse — well below where modern retail competes.

Each peak season exposed the same bottlenecks. Mother's Day and Valentine's Day are the calendar weeks that determine the year, and the team could not afford a freeze on a revenue-bearing site to modernize.

They needed a partner that could re-platform incrementally — keep the legacy stack live for sections not yet migrated, ship the modernized surfaces in stages, and stay embedded across multiple modernization phases.

What we built

The engineering decisions.

Frontend migration — JSP + IBM CMS to React

First phase moved the storefront off JSP templates and the IBM CMS to a React-based frontend. We isolated the migration to specific surfaces first — catalog, then product detail, then checkout — so the legacy stack stayed authoritative for everything not yet cut over. Zero revenue freeze, no big-bang launch.

Next.js + micro-frontends

Second phase moved React to Next.js with a micro-frontends architecture. Individual product teams now ship their surfaces independently — no monolith deploy coordination, no release-train bottleneck. Lighthouse performance scores moved into the high 90s on migrated catalog and checkout paths.

Backend modernization to Spring Boot microservices

Backend re-architected to Spring Boot microservices on a shared platform layer. Order, catalog, and fulfillment decoupled into independent services with their own data ownership. Migration done incrementally — legacy services stayed live until the new ones were proven against production traffic.

AI integration phase

Current phase weaves AI into the editor and shopper paths — content generation in the CMS, on-site search ranking, and merchandising decisions surfaced inside the checkout flow. This is the AI-transformation chapter — built on a modernized stack rather than bolted onto a legacy one.

The results

Measured outcomes.

  • PageSpeed score moved from 60 to 90+ on the JSP-to-React rewrite
  • P95 page load dropped from 6s to under 2s
  • Lighthouse performance score moved into the high 90s on migrated catalog and checkout paths
  • Storefront teams ship independently via micro-frontends — no monolith deploy coordination
  • Backend services modernized to Spring Boot incrementally — no big-bang cutover
  • Legacy platforms still supported for non-migrated surfaces — zero revenue freeze through the transition
  • AI integration phase underway across content, search, and merchandising

Have a similar challenge?

We'd love to hear about it. Every conversation starts with a senior engineer who's built systems like yours.