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 is a very talented front‑end web developer. He is enthusiastic, up‑beat, very knowledgeable in his field and has a great eye for detail. He brought a lot to our team and to the product, I would be happy to work with him again."
- "
John Kavanagh is a highly intelligent and truly senior front‑end web developer, who's surprisingly well versed in the arcana of CSS. For Macmillan he was initially churning out static templates on an SCSS BEM architecture, but soon moved on to managing the team (three developers), assigning and tracking tasks using a Trello board he introduced, and helping me nudge the team towards an integrated, Web Components based production pipeline. I enjoyed John's productivity and attitude, and I very much look forward to working together again."
- "
I worked with John Kavanagh at AND Digital for a client focusing on the development of web pages through Gatsby and Contentful. His experience and skill definitely showed but alongside that he was enjoyable to work with. He was always available to the team in any capacity; whether that be to help get a ticket over the line or to teach new ways of doing things. My time with John has personally been a great learning experience and I hope to work with him again in the future."
- "
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."
- "
John Kavanagh is enthusiastic and enjoys getting work completed, he is happy to challenge priorities where he sees there is a quicker ROI to be made from his development. His opinion on how we have developed features has been key to our success this financial year. He is fun to work with, always vocal and the dynamic he brought with PO/UX/UI has driven us to deliver better quality features faster than before."
