Macmillan Education
Senior front‑end development for Macmillan Education's sophisticated, interactive, multilingual Open Mind platform, built for international learners with QTI and Google Polymer.


In Detail
Open Mind Digital was Macmillan Education's web‑based learning platform, first released in 2015 as a digital companion to its printed course materials. The platform supported school students, teachers, and adult learners through interactive exercises, media‑led activities, and multilingual content delivered across international education markets.
The product had two main client‑side layers. The first was a custom JavaScript application framework built with Google Polymer, which ingested QTI data supplied from an external LMS. The second was a front‑end layer of accessible Web Component templates that rendered that data as interactive learning experiences.
Those interactions included drag and drop, video, audio, questions, and answers, timed quizzes, free‑text completion, answer states, subtitles, and media cue points. The challenge was to make these patterns robust, reusable, accessible, and compatible across a demanding browser‑support matrix.
My initial responsibility was to develop interactive templates from wireframes and PSD designs. These were built as a standalone Node.js prototype with automated build tooling, Sass, and BEM, giving stakeholders a working environment for review before the templates were integrated into the production application.
As the platform matured, we evaluated AngularJS before moving to Polymer and Web Components. Polymer allowed the team to reuse the prototype work, generate components from the existing template codebase, and build a production pipeline around a more modular component model.
Interactive Exercise Templates
The platform needed reusable templates for different exercise types, including sentence completion, drag and drop, multiple choice, audio‑led questions, and video‑based activities. Each template had to support clear answer states, learner feedback, and content variations from the QTI source.


Media‑Led Learning
Video and audio were central to the learning experience. I worked on custom JavaScript behaviour for media players, cue points, subtitles, and timed interactions, whilst maintaining compatibility with older browsers required by the education market.


Component Pipeline
The early Node.js prototype became a bridge into the production Web Components application. By keeping the templates modular, Sass/BEM‑based, and build‑tool driven, the team could move from stakeholder‑review prototypes into reusable Polymer components without discarding the initial front‑end work.


- "
John Kavanagh is very sharp and detailed when it comes to handling complex HTML and CSS components. He has a very wide knowledge of Front‑End development and knows how to sort out any problem that arises. John was an essential part of the team, and I would be happy to work with him again in the future."
- "
John Kavanagh is a very likeable chap and sharp as a pencil. His knowledge and skills have been indispensable whilst working at Macmillan. I would, without a doubt, happily work with John again."
- "
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 and I worked together at MacMillan for 6 months. He has a passion for front‑end development which shows in his work. He has excellent technical skills, lots of enthusiasm and a nice personality. I look forward to working with John 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."
- "
John Kavanagh has been an integral part of our front‑end team for many months. He's a conscientious & proactive team member who has contributed both to the development and the direction of the programme. His excellent coding & communication skills would be an asset to any project."
