Linkudo
Technical architect and sole developer, rebuilding a classic Flash word association game as a modern, mobile‑first web application for contemporary browsers and devices.

In Detail
Bringing Linkudo back to the web was not a conventional website redevelopment or straightforward rewrite. The original Flash‑based game belonged to an earlier generation of web technology and could no longer simply be brought back online, with the original codebase no longer feasible to build upon. The new version therefore required a ground‑up technical implementation capable of preserving the character of Tony's game whilst adapting it to contemporary browsers, mobile devices, and expectations around web performance and usability.
The concept and gameplay remained Tony's; my responsibility was to determine how these could be translated into a maintainable modern web application and then deliver that technical solution.
This created two distinct technical challenges:
Rebuilding the game system:
creating the application architecture and supporting tooling required to operate Linkudo as a contemporary daily web game.Delivering the player experience:
developing a fast, responsive, themable Next.js and React front end that let players solve puzzles, track performance, persist preferences, and share results.
Game Configuration Generation
Each day, Linkudo presents players with a new challenge. I developed a Python‑based generation process to prepare these daily game configurations in advance, performing the computationally intensive work outside of the live application rather than generating challenges in response to player requests.
Precomputing the configurations allowed future games to be prepared ahead of time and kept the more complex processing out of the player‑facing application. The live game could therefore retrieve a prepared configuration when required, keeping the gameplay experience fast and responsive.
Delivering the Game Experience
The player‑facing application was built with Next.js, React, TypeScript, and SCSS, supported by a wider back‑end architecture using Node.js, Supabase/PostgreSQL, and Redis. Together, these provided the foundations for a fast, responsive game experience whilst supporting player state, preferences, results, and the wider functionality around each daily game.
Working from the client's visual designs, I developed a reusable component system around the core word‑linking experience, adapting the game for modern browsers, touchscreens, and different viewport sizes. The interface was deliberately kept simple and responsive, allowing the gameplay itself to remain the focus.
Customisable Player Preferences
Linkudo supports five selectable themes, allowing players to personalise the game without changing its underlying mechanics. I implemented the theming and preference system so that player choices persist between visits, with theme usage also tracked to understand which options proved most popular with players.





Automated Social Share Image Generation
When a player completes a game, Linkudo can create a branded social share image reflecting that day's challenge, the player's result, and their selected theme. Supporting every possible combination and permutation manually would have created a repetitive production task, so I built a standalone Node.js service to automate the process.
Using React and Puppeteer, the service generates the required image variants from reusable components, keeping them visually consistent with the game itself and ready for use when players share their results.

From Beta to Launch
The rebuilt Linkudo progressed through private beta before launching publicly in 2025. More than 2,000 games were played on the first day of beta, providing an immediate real‑world test of the application and supporting architecture, with initial player feedback strongly positive.
The launch brought Tony's original game back to the web after an absence of almost two decades, but for a very different generation of casual game players. Where the original had been created in the Flash era and designed to be played on desktop computers, the new Linkudo was built around responsive, touch‑based interaction and the expectation that many players would play on their phones.
Whilst the concept remained the same, the technology and experience around it had been rebuilt for a fundamentally different web.
- "
John Kavanagh's biggest strength is his ability to deal with conflicting priorities in high‑pressure situations. Along with his excellent development skills, John's ability to manage difficult stakeholders and requirements is one of the key reasons that the projects he led were completed on time without too many problems."
- "
John Kavanagh is one of the best front‑end developers I've had the pleasure of working with. Incredibly knowledgeable, great attention to detail – he understands design and why it's important to get it right, and he's also very experienced coding for accessibility. Always professional but with a great sense of fun, John would be an asset to any team and project."
- "
I had the pleasure of working closely with John Kavanagh at Selfridges. He is an exceptional programmer who consistently delivered high‑quality work. John possesses a deep understanding of exceptional front‑end development skills and has a remarkable ability to tackle complex problems with creative and effective solutions.
What sets John apart is not only his technical expertise but also his strong work ethic and dedication to delivering results. He is a reliable and proactive team player, always willing to go the extra mile to ensure project success. I was particularly impressed with his ability to help with issues and make the explanations simple and succinct.
Beyond his technical skills, John is a pleasure to work with. He communicates effectively, collaborates seamlessly with team members, and approaches challenges with a positive and solution‑oriented mindset."
- "
It's been a pleasure to work with John Kavanagh in the web team at Nando’s. He's a top professional who has prided himself in bringing my designs to life with a high standard since day one. He has a great eye for detail with a clear understanding of user‑centric thinking and is always willing to give great suggestions from a technical standpoint.
I have also really appreciated his positive energy which gives a great lift to the team at every stand up. Any team would be lucky to work with him, as I have experienced myself!"
- "
John Kavanagh is an incredibly talented and efficient developer with great expertise in Gatsby and Contentful. He is incredibly personable and also always willing to share his knowledge. I also appreciated his ability to communicate openly and in a way that allowed me to find a way forward with him.
It was a pleasure to work with John and I would welcome another opportunity to work with him again!"
