Ages 5-13. Foundation Worlds (33), Workshops, Star Chart, Solar System canvas, Profile Picker, Daily Beacon, The Stage, The Collection, the Source pages, and now the Stars-to-Planets identity spine. Every page hand-built — no CMS, no framework, no dependencies beyond Tone.js for the instrument synth.
Screenshot · Foundation World
Feature 01 · Foundation Worlds
33 planets, each a real curriculum
Every planet has its own page, palette, and Daily Beacon. Read · Math · Money · Health all shipped with the 4-card depth pattern (Roadmap · Tools · Playground · Kit). The rest are queued for cross-platform sweep.
Build: hand-crafted HTML/CSS per planet · per-planet color tokens · localStorage state per workshop · zero CMS bloat
Screenshot · Solar System canvas
Feature 02 · Solar System canvas
Live planetary navigation
All 33 planets orbiting a central Academy sun. Real animation. Hover to read; click to enter. Twin-planet system (Network ↔ Signal). Mobile-friendly canvas with tap-targets. The whole universe in one view.
Build: pure HTML5 Canvas · ~700 lines vanilla JS · 60fps animation · no Three.js · no WebGL dependency
Screenshot · Profile Picker
Feature 03 · Profile Picker
Per-cadet privacy inside one family login
Unlimited explorers per family. Each gets their own avatar (Cadet Forge SVG system — skin tone, hair, accessories, all customizable). All `cult_*` localStorage keys auto-prefixed by active profile. One login, real privacy, no cap.
Build: 1,745-line vanilla JS · SVG avatar renderer with 5 skin tones · transparent localStorage namespacing · live on 123+ pages
Screenshot · Daily Beacon
Feature 04 · Daily Beacon engagement
Streaks that forgive, drops that don't expire
Every world has a 14-day rotating content set. Engagement built on 4 ethical design rules: streaks forgive · variety draws · drops never expire · no dark notifications. No FOMO. No anxiety. Real curriculum delivered in small doses.
Build: per-planet content array · vanilla JS streak tracker · no push notifications · no social pressure mechanics
Screenshot · Your Star (Stars-to-Planets)
Feature 05 · Stars-to-Planets identity
A Star that fills with the values a kid lives
10 value-facets: Communication · Discipline · Accountability · Self-Growth · Transparency · Curiosity · Resilience · Stewardship · Voice · Generosity. Fills from real platform activity. Ignites into a Planet when the cadet earns the bridge to Teens.
Build: SVG canvas renderer · activity-to-facet observer pattern · cross-tier bridge token (URL-encoded JSON, no backend) · per-cadet localStorage schema
Screenshot · The Constellation
Feature 06 · The Constellation
Social presence without social interaction
Twinkling-star canvas of opted-in cadets. Nickname only. One accolade. No counts, no rankings, no chat. Solves "kids feel isolated" without creating the kid-to-kid chat moderation nightmare. Heavy moderation, weekly cadence.
Build: Canvas-rendered constellation · JSON roster · hover tooltips · "that's you" highlight via local profile match · no third-party APIs
Screenshot · Companion / Animal Planet
Feature 07 · The Companion
Cross-tier persistent animal companion
14 species × ~110 breeds. Pick one, name it, it travels with the cadet from Kids → Teens → Adult. Visit-stats footer (days together, longest streak). Accountability banner escalates with absence — but never shames, never kills the companion.
Build: per-species breed catalogs · localStorage schema v1.1 with backwards-compat · soft escalation tone (no dark patterns)
Screenshot · The Stage / Cadet Author Agreement
Feature 08 · The Stage + publishing pipeline
Real publication credits before 18
Cadets submit poems, songs, stories to The Stage. Accepted work gets published under Nathan James Publishing LLC with the cadet's name and a 50/50 net royalty split. Real Cadet Author Agreement, not a clickwrap. The kid's work, their name, their money.
Build: contract template (drafted in legal-library) · per-cadet submission flow · publisher imprint operationalized through Nathan James Publishing LLC