From legacy apps to a shared web platform.

Several apps. Different foundations.

Older iOS apps and a Java website with online games each had their own technical setup. Shared improvements meant working across separate products and codebases.

A common structure, ready to grow.

I helped bring the apps into Next.js and create shared foundations, including translations. New features can build on common patterns instead of starting from scratch in each product.

Text becomes speech. Media is stored centrally.

A text-to-speech API generates audio from text. Audio and image files live in Cloudflare R2, ready for the apps to use.

Changes checked across the stack.

Playwright tests cover the applications, with TypeScript and other project checks helping catch problems as the platform changes.

Next.js · TypeScript · Translations · Text-to-speech · Cloudflare R2 · Playwright

Planning a platform modernization?

Tell me about the applications, systems and team involved.