Role: Support developer and package co-authorCompleted: Q3 2025

BCITO

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

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.