SPDA Education
SPDA is a learning platform where volunteers teach what they know — coding, robotics, maths, English — and earn the credit hours their institutions require, while students from Grade 1 up learn for free. I started as a volunteer teacher on it during COVID; the platform itself was built by me and the ELO team as the LMS underneath: registration for teachers, volunteers and students, course selection, and the machinery to actually run a course. It was a Django app that needed to feel modern, and Vue turned out to be the perfect layer — progressive SPA behaviour with no npm install anywhere in the client's deployment path. ELO maintained it until 2021 and then handed it over. One of my Norway alumni worked on it directly alongside me.

Why it existed
Schools closed and two problems collided: students had no classes, and volunteers had credit hours to earn with nowhere to earn them. SPDA's answer was to make the volunteers the faculty — anyone with a skill could open a course, and any student could take it for free.
That only works with real software behind it. Someone has to register three different kinds of user, keep courses and enrolments straight, and let a volunteer actually run a session. I taught on the platform and helped build it, which is the fastest way to find out what a platform is missing.
Vue over Django, deliberately
- Modernise, don't rewrite. The client had a working Django application. Replacing it would have cost the whole engagement; the goal was for it to feel like a modern app, not to be a different one.
- Vue as a progressive layer. Vue could be dropped into existing Django templates and take over the interactive parts incrementally — no build pipeline, no npm install in the deployment path, no toolchain for the next maintainer to inherit.
- Server-rendered where it belonged. Registration, course listings and admin stayed Django; the interactive surfaces became SPA-like. The seams were chosen, not accidental.
Dockerised so the handover would stick
The engagement was always going to end — a volunteer-run organisation cannot keep a studio on retainer. So the deploy story mattered more than usual: the whole stack was containerised so that bringing the platform up was one command, not a runbook.
That is what made the 2021 handover clean rather than a slow decay. The platform is still live today, which is the only real test of a handover.
High-calibre architecture decisions.
Key Decisions & Rationale
A separate front end would have meant a build step, a second deployment, and a toolchain the client could not maintain after handover. Vue's script-tag path gave the modern feel at none of that cost.
The people inheriting the platform were volunteers, not an ops team. A dockerised stack made "run it" a single command and removed the environment drift that usually kills handed-over projects.
By the numbers.
SPDA — the platform today
The live site, still running the three-audience structure it was built around: students learning free, volunteers earning credit hours, teachers offering what they know.
SPDA Education — the students / volunteers / teachers split that drives registration and course selection.

If we worked together.
I bring high-leverage product engineering and absolute operational discipline: shipping weekly, pressure-testing user inputs, and automating delivery pipelines.
See it in the wild.
This case study covers how SPDA Education was built — these links open what ships today: the live product, repo, demos, and supporting material.
Optimo
Optimo is the all-in-one service-automation testing framework ELO built for Hyundai HATA in California, still used there to test the online architecture behind their connected-cars ecosystem. One platform covers three surfaces that normally need three separate test stacks — IoT devices, the web portal, and the mobile app — including human-to-device voice conversations against Alexa and Google Home. Fauzul was active in the early scope definition, wrote test cases, designed the test workflows, defined the APIs, and managed the development team delivering it.