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.
- 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
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.
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.
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.
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.