BCITO
- Wagtail
- Django
- Next.js
- Django Ninja
- Pydantic
- Celery

Overview
Headless Wagtail and Next.js website for BCITO, New Zealand's leading building and construction apprenticeship provider. At Octave I supported the site and set up headless-waf-builder, a separate open source package that brings Octave's wagtail-advanced-form-builder to headless sites through a REST API.
Key Features
Headless forms as a package
headless-waf-builder is a standalone open source package on PyPI that gives the original Wagtail Advanced Form Builder a REST API for React, Vue, Angular and mobile frontends.
Form schema and submission API
Built on Django Ninja, the API returns a form's fields and validation rules, then validates and processes submissions, with auto-generated OpenAPI docs.
Conditional logic carried over
Show and hide rules from the CMS are exposed in the schema, so the frontend can drive multi-step forms like the BCITO apprenticeship sign-up.
Secure by default
CSRF protection, optional reCAPTCHA v2/v3 and rate limiting, with email notifications sent in the background through Celery.
Ongoing site support
Maintenance and fixes on the live BCITO site, a Wagtail CMS feeding a Next.js frontend.
Other Projects

New Zealand Cricket Museum
Website for the New Zealand Cricket Museum, Te whare taonga kirikiti o Aotearoa, in the Old Pavilion Stand at the Basin Reserve in Wellington. It showcases the museum's collection of cricket memorabilia, its stories and
- Webflow
- Finsweet Attributes
- Splide

G&T Construction
Website for G&T Construction, a North Canterbury civil contractor delivering infrastructure since 1994 and now part of the Hunter Civil Group. Built as a freelancer in collaboration with Popthat, a digital agency in
- Wix
- Velo
- Wix CMS

DropGym
Website for DropGym, a group of private, capped-capacity gyms across north and west London offering personal training, gym memberships, Pilates and physio. Built in 2022 while working at Psychoactive Studios.
- Webflow
- Memberstack
- Mapbox
- GSAP
- Lottie