Taking on new Moodle projects now

Moodle that ships, and keeps working after handover.

I build Moodle 5.x platforms, plugins and themes for companies and education providers, with tests, CI and documentation your team can run without me.

northbridge.learning/course/view.php?id=27
Live demo: a learner answering an H5P exercise a teacher built minutes earlier
  • "I didn't find any blockers and recommend this plugin for approval."Moodle Marketplace review of mod_onelife, now published in the plugins directory.
  • 292PHPUnit tests, 30 Behat scenarios and 40 CI jobs across three plugins
  • Moodle 5.2in production on AWS for a fintech client
  • PHP 8.4Moodle 4.5 to 5.2, tested on PostgreSQL and MariaDB in CI
Selected work

Three projects that show how I work

A client platform in production, a full theme, and plugins built to Moodle's review standard.

All projects
Recreated on the demo site, no client data
Compliance course built around a SCORM package: the package, a knowledge check gated behind it, and completion tracking on each activity
  • Client delivery
  • Moodle 5.2
  • AWS

Compliance training LMS for a fintech company

SCORM-only course delivery, restricted admin roles, automated mailers, reporting to the client's Excel specification, and a second cloned platform. Under confidentiality, described without names or data.

Read the case study
Atrium theme front page with hero, feature blocks and course showcase
  • Theme
  • Moodle 5.1+
  • 73 PHPUnit · 20 Behat

theme_atrium: a complete Boost child theme

One-click quick start, Ctrl+K search palette, accessibility toolbar, designed front page, catalogue, seven colour presets and dark mode. Every feature has a test.

See the theme
One Life play screen: streak counter and a question from the course bank
  • Activity module
  • Report plugin
  • Published on the Moodle Marketplace

mod_onelife and report_transcript

A streak-based revision activity published on the Moodle Marketplace, and a verifiable learner transcript report, also published there. 176 and 61 PHPUnit tests respectively, both tested on Moodle 4.5 to 5.2.

Play One Life in the browser
northbridge.learning/contentbank
Content bank: the Add menu open, 57 H5P exercise types, Fill in the Blanks highlighted
Live demo

See what stock Moodle can do before you pay for custom work

I run a 30-minute walkthrough on my own Moodle 5.2 site: H5P exercises built by a teacher account, graded question types, a Book, an interactive video and Arabic right-to-left, all with no custom code. Useful when a stakeholder is worried they will need a developer for every new exercise.

You watch a teacher build an exercise from a blank screen, and a learner answer it, in about three minutes. Then we talk about what your case would still need built.

Services

What I do for clients

Everything below is Moodle-native. No forks of core, no hacks that break on the next upgrade.

All services and how engagements run

LMS implementation

Moodle set up on your cloud, configured for how your organisation actually enrols, trains and reports. Roles, branding, mail, backups.

Plugin development

Activity modules, reports, blocks, local plugins and integrations, written to Moodle coding standards with PHPUnit and Behat.

Themes and branding

Boost child themes that follow your brand guideline and stay upgrade-safe, with accessibility built in rather than bolted on.

Reporting and automation

Reports to your spec, scheduled exports, auto-mailers, and clean-up tasks that remove manual admin work.

How I work

Small scope, written down, tested, handed over

  1. Scope in writing

    A short brief with what is in, what is out, and how we will know it is done. You approve it before any work starts.

  2. Build on a staging copy

    Nothing touches production until you have clicked through it. Changes ship as versioned plugins, never edits to core.

  3. Tests and CI

    PHPUnit and Behat for the behaviour that matters, run in GitHub Actions on every change, across the Moodle and PHP versions you run.

  4. Handover you can keep

    Runbooks, admin guides and a reset script for training, so the platform does not depend on me being available.

Delivery and leadership

Someone has to own the plan, not just the code

On larger platforms I am the technical project manager as well as a developer: requirements and estimates, sprint plans, coordinating development, QA, UI/UX and infrastructure, then UAT, deployment and the month after it.

How I run a delivery

Teams, not just tickets

Coordinating development, QA, UI/UX and infrastructure so the platform is ready at the same time as the code is.

Deployment that is rehearsed

A written release sequence, a backup taken first, a tested rollback, and a window agreed with everyone it touches.

Every phase ends in a document

BRD, estimate, delivery note per milestone, acceptance record, runbook. Status and risk in writing, not only in standups.

I didn't find any blockers and recommend this plugin for approval.
Moodle Marketplace review of mod_onelife, ticket MMR-208. The plugin is now published in the directory.
References

Proof, and where to get more of it

Client work is under confidentiality, so the platforms cannot be shown. The people can be asked.

Client references on request

Client contacts from the fintech platform and from earlier education work are available for a call or an email about working with me. Ask on the contact page and I will make the introduction within a day.

Independent code review

I didn't find any blockers and recommend this plugin for approval.
Moodle Marketplace reviewer, mod_onelife, ticket MMR-208. Published since September 2026.

Client testimonial

Slot reserved. A quote from a client will go here when one is agreed in writing; nothing is published without the client's sign-off.

Working hours

Pune, with your morning in my afternoon

I work 10:00 to 19:00 IST and take calls until 21:30 IST. That gives UK and EU teams most of their working day with me online, and US East Coast teams a call window every morning.

Pune, IndiaIST, UTC+5:30
10:00 to 19:00 working
calls to 21:30
United KingdomUTC+0 / +1
5.5 h overlap (13:30 to 19:00 IST)
Central EuropeUTC+1 / +2
6.5 h overlap (12:30 to 19:00 IST)
US East CoastUTC-5 / -4
3 h calls (18:30 to 21:30 IST)
My hoursOverlap with your 09:00 to 17:30

Overlap shown for summer time; in winter each window starts an hour later (UK and EU overlap from 14:30 and 13:30 IST, US calls from 19:30 IST). Standups, reviews and incident calls fit inside these windows without anyone working late.

Tell me about the platform you need

Reply within one working day. I work in IST and keep afternoon overlap with UK and EU teams, and morning overlap with the US East Coast.