LuxorItPro

Sheet 12/16EducationIn progress

Education programs, events and a small shop

Program pages, event signups and a shop maintained from one content system instead of three tools.

Fig. 01 How a program page comes to exist
How a program page comes to exist How a program page comes to exist. Staff edit (A program, event or member). Then Supabase record (Written once, by staff). Then TipTap content (A predictable editor). Then Program page (An entry, not a release). Arrows show the write path between components; a dashed arrow marks data derived from another component. Staff edit A PROGRAM, EVENT OR MEMBER Supabase record WRITTEN ONCE, BY STAFF TipTap content A PREDICTABLE EDITOR Program page AN ENTRY, NOT A RELEASE

Drawn from the Approach section of this write-up. No client names, no live data.

Problem

An education provider's information is spread across a brochure PDF, a social account and a booking message thread. Programs are described in one place, the timetable in another, and event signups happen in whatever channel the parent happens to use. Staff who want to change a program description ask someone to edit the site, because there is no administrative side to edit it themselves.

Our role

Design, build, and the content model that lets staff maintain the pages.

Approach

React and TypeScript on Vite, styled with Tailwind CSS. Programs are records with detail pages rather than hand-built pages, so a new program is an entry and not a release. Events and membership content follow the same pattern.

Rich text is handled with TipTap, which gives staff a predictable editor instead of raw HTML, and motion is limited to Framer Motion transitions that do not obstruct reading. Supabase provides data and authentication for the administrative pages; shop, cart, and product pages are part of the same application, with payment initialisation wired in.

Outcome

The public pages, the administrative side, and the commerce surface are built. Which payment workflows are complete has not been verified against a live account, so this page does not claim a working checkout.

Notes

No family details, enrolment records, or payment data are published. Dates and prices are omitted deliberately.

All case studies Start a project