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.
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
Next case study
Multi-Tenant Retail Data Platform Serving 4 BrandsHave a similar challenge?
We'd love to hear about it. Every conversation starts with a senior engineer who's built systems like yours.