Full Stack Engineer

2022Client: Riot Gamesweb
Full Stack Engineer

Technologies

Designed and developed "Site-Builder", a Multi-tenant architecture that powers Riot's biggest game portals.

Overview

As Senior Frontend Engineer at Riot Games, I worked on "Site-Builder". The idea was simple: instead of building a separate website for every game (VALORANT, League of Legends, etc.), we built one platform that could run them all. It modernized how Riot presents itself to the world.

Challenges

  • Build Times: The old Gatsby sites were taking hours to build. Hours. For a simple content change.
  • Spaghetti Code: Different teams had built different portals, leading to duplicated logic and technical debt everywhere.
  • Migration: We had to move massive legacy sites to the new system without breaking them or taking them offline.
  • SEO Scale: Managing SEO for global sites with dozens of languages is tricky.

Solution

One Codebase to Rule Them All: I developed a multi-tenant architecture using Next.js. It allows us to reuse components and logic while still letting each game portal look unique.

The "Blades" Library: We built a shared UI component library called "Blades". It sped up development because we weren't reinventing the button for every new page.

CMS Flexibility: I implemented an Adapter Pattern to separate the frontend from the CMS. This paid off huge when we migrated from Contentstack to Sanity—we didn't have to rewrite the frontend.

Automated SEO: I set up Jenkins pipelines to generate localized sitemaps automatically. It runs asynchronously, so it doesn't slow down the main build.

Results

  • Fast Builds: We went from multi-hour builds to under a minute. That's a game-changer for content teams.
  • Smooth Migration: We moved the legacy portals to the new system with zero downtime.
  • Better SEO: The automated pipelines ensured we were being indexed correctly globally.
  • Dev Velocity: With the shared component library, creating a new marketing page became a drag-and-drop task rather than a week of coding.
Gerardo Perrucci
Let's connect

Interested in a similar project?

Schedule a call to discuss how I can help with your next project