Case Studies

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.

Screenshot of the Macmillan Education website; part of John Kavanagh's selected project work.

In Brief

Open Mind was Macmillan Education's digital companion to its book‑based learning materials, first released in 2015. The platform extended printed course content into interactive online exercises for school students, teachers, and adult learners, reaching hundreds of thousands of users across international education markets.

My Role

I joined during the proof‑of‑concept stage and led the development of interactive HTML templates in an optimised Node.js build environment. As the product matured, I moved into broader front‑end leadership across the three‑developer team, helping establish the team workflow and production pipeline as the work evolved into a bespoke Web Components application using Google Polymer and a QTI‑based data source.

Technologies

  1. Polymer
  2. HTML5 & Sass
  3. XSLT
  4. QTI
  5. Node.js
Photograph of various Macmillan Education Open Mind print books.

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.

Screenshot of the Macmillan Education Open Mind web platform: free-text sentence completion.Screenshot of the Macmillan Education Open Mind web platform: video conversation thread and drag/drop interaction.

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.

Screenshot of the Macmillan Education Open Mind web platform: select the word that has been played in the audio, highlighting the incorrect answer state.Screenshot of the Macmillan Education Open Mind web platform: select which word has been played in the audio.

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.

Screenshot of the Macmillan Education Open Mind web platform: conversation thread with an embedded video.Screenshot of the Macmillan Education Open Mind web platform: video with multiple choice questions.

Looking for
technical direction?

For platform changes, recovery work, and high‑stakes delivery, I can help define the approach and stay hands‑on where the hard problems are.