One foundation for several applications.
The apps share a modern stack and reusable capabilities, while keeping their own content and purpose.
Next.js · TypeScript · Cloudflare R2
Legacy iOS apps
Java games website
Shared Next.js foundation
Translations and generated audio
Images and audio in R2
The challenge
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.
The approach
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.
Useful capabilities
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.
Quality and delivery
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
Work together
Planning a platform modernization?
Tell me about the applications, systems and team involved.