Moodle Development & LMS Customisation

Custom theme development, plugin authoring, course template design and interactive content frameworks - across three organisations and five years of Moodle work.
Mallard custom Moodle theme live in a browser - teal header, card-based course sections, Quick Links sidebar and progress bar

Moodle Theme Development · Boost Parent Theme · SCSS · PHP · Mustache Templates · Moodle Plugin API · Git · Accessibility · HTML5 · Content Design

Feb 2026 Mallard - self-initiated Moodle theme and plugin project
Boost child Custom theme built on Moodle's Boost parent framework
+ Plugin Companion accordion filter plugin for Moodle
3 contexts IKON Training, UCL STEaPP and self-initiated development
Moodle PHP Sass / SCSS JavaScript Git Docker
IKON Training (2022–24)

Built the IKON Academy Moodle LMS from scratch as sole technical lead - site administrator, responsible for product management (platform strategy, plugin decisions, theme governance), customised to brand, integrated with Arlo and Power Automate for automated delegate enrolment.

UCL STEaPP (2024–present)

Developed a card-based course layout for the STEaPP Online MSc, built interactive HTML templates for learning resources, and embedded accessibility standards (WCAG 2.2 AA) across all 12 online modules.

Mallard - Self-Initiated (February 2026)

A custom Moodle theme (Boost-based) and companion accordion filter plugin, built from scratch as a self-directed technical project. Demonstrates full theme and plugin development from architecture to packaged output.

IKON Training: Theme Customisation & Academy Build (2022–24)

I operate at every level of an LMS: I was product owner (roadmap, stakeholder requirements, theme and plugin decisions, governance), developer (PHP, SCSS, HTML, theme and plugin work) and site administrator (user management, course configuration, enrolment methods, content structure). At IKON Training, I built the IKON Academy Moodle LMS from scratch as sole technical lead - the post-course platform used by delegates to access resources after attending a course. Visual design was customised from a commercial partner's base theme to match IKON's branding, including colour scheme, logo placement, navigation structure and course card layout.

Skills Applied
  • Commercial Moodle theme customisation (SCSS overrides, config.php edits)
  • Branding integration and visual identity application
  • Site administration: user management, course configuration, enrolment methods
  • Integration with Power Automate for automated learner access provisioning
  • Post-course resource management and access control

UCL STEaPP: Cards Layout & Interactive Templates (2024–present)

At UCL I developed a card-based course layout for the STEaPP Online MSc, replacing a flat link-heavy structure with a more visually structured learning environment. The layout was implemented in HTML within Moodle's text editor and templated for use across all 12 online modules. I also built interactive HTML templates - collapsible sections, tabbed content, scenario-based formats - giving academic staff reusable patterns for presenting complex content without writing raw HTML.

  • HTML5 and Bootstrap within Moodle's text editor environment
  • Card-based layout design templated across 12 modules
  • Interactive template development (collapsible, tabbed, scenario-based)
  • WCAG 2.2 AA accessibility compliance throughout
UCL Moodle My Courses page showing STEaPP online module cards

Mallard: Custom Moodle Theme & Accordion Filter (February 2026)

A self-initiated project built to answer a question: how far can a standard Moodle site be reshaped through a properly structured custom theme and supporting plugin, while staying close to Moodle's own development conventions? The theme is Boost-based with a card-based course layout, stronger visual hierarchy and cleaner section separation. A companion Mallard Accordion Filter plugin transforms lightweight markup into accessible accordion sections at render time - reusable with any theme. Local development used Docker to run a containerised Moodle instance, keeping the build environment isolated and reproducible without modifying the host system's PHP or Apache configuration.

View on GitHub ↗

Technical Components
  • Boost parent theme inheritance and override structure
  • Theme configuration via config.php
  • SCSS compilation and Moodle's theme caching behaviour
  • Layout files and the Moodle rendering pipeline
  • PHP renderers and Mustache templates
  • Pix assets (icons, screenshots, favicons) and required locations
Mallard theme at an early development stage - card-based course sections and Quick Links sidebar present, before the custom teal header styling was applied

An early Mallard development stage - card layout and section structure in place before the teal header styling was finalised.

Mallard M logo design - a stylised M formed from a mallard duck profile, developed as the visual identity mark for the Mallard Moodle theme

Mallard M - visual identity mark developed for the theme.

Mallard in Action

Mallard custom theme live - teal gradient header, card-based sections, progress bar and Quick Links sidebar

Mallard theme - teal gradient header, card layout and Quick Links live

SCSS code showing how navigation buttons were styled consistently across the Moodle platform

SCSS in Moodle - consistent visual styling across the interface

Mallard accordion filter plugin - collapsible content sections with teal expand/collapse indicators

Accordion filter - collapsible content sections

Moodle Site Administration Themes page showing Mallard listed as Current theme - confirming correct installation

Mallard installed as Current theme in Moodle admin

Skills demonstrated

LMS product management Moodle theme development (Boost child) Moodle filter plugin authoring PHP renderers and Mustache templates SCSS compilation JavaScript in Moodle LMS site administration WCAG 2.2 AA Git version control Technical documentation