Skip to Content
DevelopersHow it fits together

How it fits together

Kanu Hawaii is several sites rather than one, each with a different job. Knowing which is which saves a lot of time.

SiteWhat it isStack
www.kanuhawaii.orgThe organization: programs, partnerships, reports, donationsNext.js and Payload CMS
needs.kanuhawaii.orgThe volunteer platform: opportunities, organizations, signupsVite, React, Mantine, Supabase
pledge.kanuhawaii.orgPledge To Our KeikiNext.js
docs.kanuhawaii.orgThis siteNext.js and Nextra

They are deliberately not one application. The volunteer platform is an authenticated app where logged-in state is the normal case; the main site is server-rendered brochureware that lives or dies on search. Merging them would make one of the two worse.

The volunteer platform

Data lives in Supabase (Postgres), and access is governed by row level security rather than by application code. That is the important architectural fact: a viewer on an organization cannot see volunteer personal data because the database will not return it, not because a tab is hidden.

Public data, which is everything a volunteer browsing the site can see, is readable with the anonymous public key. That is what lets the embeddable widget work on a third-party site with no server of its own.

The widget

A dependency-free bundle served from needs.kanuhawaii.org/widget/kanu-widget.js. It renders into the light DOM of the host page and talks to the same public data as the website. There is no iframe and no build step for the partner.

Where the source is

The repositories are under the Kanu-Hawaii organization . Each one carries its own developer documentation in its docs/ directory, and that is the canonical copy. This site documents how to use the platform, not how to build it, so it links rather than duplicates. See working on the platform.

Last updated on