PROJECT 004 · CASE STUDY
East Melbourne Language Centre
A language school's marketing site, course catalogue and enrolment checkout, built solo. A Google Sheet the staff already use is the entire back office.
The brief
East Melbourne Language Centre runs in-person and online classes, corporate training and VCE tutoring. Their old WordPress site could show a timetable but couldn’t sell a seat, and the staff are teachers, not CMS administrators. The brief was a fast marketing site with a real enrolment flow: browse the timetable, take a placement test, pay for a class. The constraint that shaped everything: the office had to be able to run the catalogue without me.
Calls that mattered
- A Google Sheet as the CMS and back office. Timetable, pricing and term dates live in tabs the staff already knew how to edit, the build reads them to render the catalogue, and completed enrolments are written back to an Enrolments tab.
- A static Astro site on Firebase Hosting, with structured data and a curated set of 301 redirects to carry over the WordPress-era SEO.
- Checkout on Stripe Elements with Python Cloud Functions behind it: PaymentIntents, webhooks, and receipt plus admin emails through Resend.
- An adaptive placement test: a CEFR level state machine from A1 to C1 that skips ahead on a streak of correct answers and recommends the course with the matching textbook. Progress survives in localStorage for 48 hours.
Results
Live at languagecentre.net.au, taking real enrolments and payments since March 2026. The school runs its own catalogue, and I haven’t needed to touch the content once since launch.