Forbes Games
One repo for every Forbes game, built alongside LinkedIn’s own engineers: a roughly 25% lift in daily returning users.

TL;DR
- Outcome
- Roughly 25% lift in daily returning users
- Role
- Engineer responsible, from technical requirements to launch
- Context
- At Optimum Partners, for Forbes; built alongside LinkedIn’s own engineers
Context
Before Forbes Games, Forbes had one internal game. The goal was to add third-party games to raise engagement and retention, LinkedIn’s among them, and the deadline was tight: launch in Q4 that year. I did the work at Optimum Partners, for Forbes, alongside LinkedIn’s own engineers.
Architecture
- One games repo. A new TypeScript and Next.js repo where every Forbes game, current and future, lives.
- Shared library. Components that other apps need too live in a shared library they can use; the rest stay in the games repo.
- LinkedIn’s games. Each one is embedded in an iframe. The Forbes page and the game exchange messages over
postMessage, in both directions.
Decisions
One repo for all games. The alternative was a separate home for each game. One repo keeps every current and future game under one roof, so the next game starts from what is already there.
Shared components in a shared library. I could have kept every component in the games repo. Other apps needed some of them, so those live in a shared library that any of them can use.
Sign-in over postMessage. Browsers limit cross-site cookies, so a player’s LinkedIn sign-in can’t be used inside an iframe on another domain. Instead, the page and the iframe exchange the messages needed to prompt a player to sign in from inside the game, for example to save a score.
Result
Forbes Games saw a roughly 25% lift in daily returning users, a result shared with LinkedIn’s engineers.
My role
I was the engineer responsible for the project, almost solo, from the technical requirements document through implementation to completion. LinkedIn’s engineers and I worked together on embedding their games.