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
The production platform had two main client‑side layers. A custom JavaScript application framework built with Google Polymer ingested QTI data supplied from an external LMS, whilst a library of accessible Web Component templates 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 a wide range of learning patterns robust, reusable, accessible, and compatible across a demanding browser‑support matrix.
During the proof‑of‑concept stage, I developed the interactive templates from wireframes and PSD designs in a standalone Node.js environment using automated build tooling, Sass, and BEM. This gave stakeholders a working implementation for review before the templates were integrated into the production application.
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 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 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 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 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 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."
