Learning software · Own business, in daily use

Roots of Reason platform

A tutoring platform with student workspaces, parent dashboards, homework upload, and progress records, plus a public demo that runs on sample data.

demo.rootsofreason.orgLiveOpen full size
The platform demo, running live on invented students and invented data.
Role
Design & development
Period
September 2025 to present
Status
In daily use; public demo available
Platform
Cloudflare Pages, Workers, D1, R2
Built with
  • JavaScript
  • Cloudflare Pages Functions
  • D1
  • R2
  • Better Auth
  • Resend
60
Pages Functions behind the student hub
20
SQL migrations
14
test files
0
real student records in the public demo
01

Why it exists

I run Roots of Reason, a tutoring practice. Each student needs a different kind of practice, and each parent wants to know what happened this week without having to ask. The platform gives every student a workspace and every parent a dashboard, both drawn from one set of session records.

No student information appears in the demo. It runs on invented students and invented data.

One interface, two back ends

The demo is the production interface with the network replaced. A fetch interceptor answers every API call from fixtures, so a visitor can click through real screens with no student data behind them.

ProductionBrowserstudent or parentPages Functions60 endpointsD1 and R2records and uploadsPublic demoBrowserany visitorFetch interceptoranswers every API callJSON fixturessample students
02

What students and parents get

  • Per-student dashboards with assignments and session notes.
  • Homework photo upload, stored in R2.
  • A coins and rewards ledger.
  • Card Forge and three embedded practice rooms.
  • Parent dashboards with progress summaries.
03

How it is built

The hub uses Better Auth with sessions stored in D1 and sign-in by emailed magic link. It has 60 Pages Functions, 20 SQL migrations, and 14 test files, about 149,000 lines in all.

04

Privacy

Student names and records stay in the production database. The code repository holds no information about any minor: student mappings sit in environment variables, and dashboard copy uses placeholder names.

Scope & limitations

The demo uses invented students and invented data. The production platform requires an account.

Display settings

Choose a layout and palette. Your settings are saved in this browser.

Palette
Homepage layout
Motion

Display settings do not change the project selection or publication permissions. Orbital and index layouts use the same project data.

Harmonic drawing

The homepage drawing is a small interactive made for this portfolio. It is separate from the project examples.

3
25

Drag across the center drawing or use these controls. The drawing does not require sound, network access, or continuous animation.