ArchitectureOverview

Architecture Overview

Cub Klub follows the Septimius ecosystem convention for all platform services. This page describes the planned architecture and key technical decisions.

Stack

LayerTechnologyNotes
FrontendNext.js 14 (App Router)TypeScript, server and client components
BackendFastAPI (Python)Async endpoints, structured logging
DatabaseSupabase (PostgreSQL)eu-west-1, RLS on every table
AuthSupabase AuthFamily account model with parent and child profiles
StorageSupabase StorageMedia uploads with signed URLs
AIKORA (via Assembler)Child-appropriate content recommendations

Design System

Cub Klub extends the shared @septimius-technology-group/tokens package with its own palette. The brand colours are yellow #ffcd00 (sunshine, warmth), purple #662483 (imagination, creativity), and teal #01707d (trust, safety). All components inherit the base token set and override colour variables for the Cub Klub theme.

Domains

DomainPurpose
cubklub.comPrimary platform — activities, tracking, community
cubklubtv.comVideo content and educational resources

Safety and Compliance

Child data is classified as Confidential (Tier 3) under the Kennis OS data classification model. All tables containing child information require strict row-level security policies.

Compliance requirements:

  • GDPR — lawful basis for processing, right to erasure, data minimisation
  • COPPA — verifiable parental consent, limited data collection for children
  • Age-gating — parental controls on all child-facing features

Auth Model

Supabase Auth provides the identity layer. A single family account holds one or more parent profiles and one or more child profiles. Parents manage consent, privacy settings, and content restrictions for their children. Child profiles have reduced permissions and cannot access administrative features.