Case Studies

Macmillan Education

Senior frontend 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 bookbased learning materials, first released eleven years ago. 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 proofofconcept stage and led the development of interactive HTML templates in an optimised Node.js build environment. As the product matured, I helped move the work into a bespoke Web Components application using Google Polymer and a QTIbased data source, contributing to the frontend direction, team workflow, and production pipeline.

Technologies

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

In Detail

Open Mind Digital was Macmillan Education's webbased 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, medialed activities, and multilingual content delivered across international education markets.

The product had two main clientside 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 frontend 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, freetext completion, answer states, subtitles, and media cue points. The challenge was to make these patterns robust, reusable, accessible, and compatible across a demanding browsersupport 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, audioled questions, and videobased 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, while 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/BEMbased, and buildtool driven, the team could move from stakeholderreview prototypes into reusable Polymer components without discarding the initial frontend 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.

Relevant Services

  • Embedded Technical Leadership

    Principallevel engineering support when architecture, delivery quality, and technical judgement need strengthening inside the work, not just from the sidelines.

  • Next.js Platform Architecture

    Clarify Next.js platform architecture when tenancy, shared systems, App Router behaviour, or team boundaries are slowing delivery down.

Looking for
technical direction?

For platform changes, recovery work, and highstakes delivery, I can help define the approach and stay handson where the hard problems are.