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

Three Contexts, One Thread

Moodle development work runs across three professional contexts. Each built on the last and deepened my understanding of how Moodle actually works under the surface - not just how to configure it, but how to reshape it.

IKON Training (2022–24)

Customised a commercial Moodle theme to match IKON's brand, built and managed the IKON Academy Moodle platform, and developed learner-facing and trainer-facing content structures. Held full site administrator access.

UCL STEaPP (2024–present)

Developed a new card-based course layout for the STEaPP Online MSc, built a series of interactive HTML templates for learning resources, and embedded accessibility standards across all 12 online modules.

Mallard - Self-Initiated Project (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)

At IKON Training, I held full site administrator access to Moodle and was responsible for building and maintaining the IKON Academy - the post-course Moodle platform used by training delegates to access resources after attending an in-person course. Access was automatically provisioned via Power Automate when a delegate was marked 'attended' in the TMS, protecting proprietary content from pre-course access.

The 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. This work did not start from a blank Boost child, but required working within and extending an existing commercial theme's architecture, which involved understanding a more complex layer of overrides.

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
  • Learner-facing and trainer-facing content structure design
  • Post-course resource management and access control

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

At UCL, I developed a new card-based course layout for the STEaPP Online MSc, replacing a flat, link-heavy structure with a more visually structured learning environment. The card layout was implemented in HTML within Moodle's text editor and has been templated for use across all 12 online modules, giving a consistent visual identity to the programme while remaining maintainable by non-technical academic staff.

Alongside the layout work, I built a series of interactive HTML templates for learning resources - including collapsible sections, tabbed content, and scenario-based structured formats. These templates give academic staff reusable patterns for presenting complex content without requiring them to write raw HTML.

Skills Applied
  • HTML5 and Bootstrap within Moodle's text editor environment
  • Card-based layout design for Moodle course pages
  • Interactive template development (collapsible, tabbed, scenario-based)
  • Template documentation and guidance for academic staff
  • WCAG 2.2 AA accessibility compliance throughout
  • Rollout across 12 modules in the 2025–26 academic year
UCL Moodle My Courses page showing STEaPP online module cards

The UCL Moodle environment - card-based course access for the STEaPP Online MSc.

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

Built as a self-initiated project in February 2026, Mallard is a custom Moodle theme based on the Boost parent theme, accompanied by a companion Mallard Accordion Filter plugin. The project was not built to a brief - it was 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?

View on GitHub ↗

Why Self-Initiated Work Matters

Employer-commissioned projects are shaped by organisational constraints. Self-initiated projects reveal how someone thinks when they have full autonomy - what they choose to build, how thoroughly they engage with the underlying technology, and whether they follow through from first idea to documented, packaged output. Mallard started as an experiment and became a serious technical learning project.

The Theme

The theme aimed to translate a more modern, card-based learning design into Moodle. Design decisions were grounded in how learners and teachers actually use course pages:

  • Cleaner section separation - reducing the visual noise between topics
  • Improved visual hierarchy - stronger headings and more consistent spacing
  • Card-based structure - making the course feel like a structured learning environment rather than a file repository
Standard Moodle Boost theme before Mallard was applied - the baseline state used to measure the design transformation

Standard Boost theme - the starting point before the Mallard theme was developed and applied.

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
  • Moodle's cache invalidation during development
The Accordion Filter

A companion plugin that transforms lightweight markup into properly structured, accessible accordion sections at render time - allowing academic staff to write simpler content without needing to know Bootstrap or HTML. As a Moodle filter, it runs at content-render time and can be used with any theme, improving its reusability beyond Mallard.

Standard Moodle Boost theme - the before state before Mallard was applied

Before: Standard Boost theme

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

After: Mallard theme active

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 Across All Three Contexts
  • Moodle theme inheritance and override architecture (Boost child and commercial)
  • SCSS customisation and compilation within Moodle
  • Moodle caching behaviour and management during development
  • Layout and renderer customisation
  • Moodle filter plugin development
  • Plugin packaging and validation requirements
  • Site administration and content structure design
  • Automated access provisioning via Power Automate
  • Interactive HTML template development for academic staff
  • Accessibility-informed design throughout
  • Documentation as part of the deliverable
  • Git-based version control