Two small, privacy-first journaling web apps. No accounts, no servers, no tracking — everything stays on the user's own device.
- Day's End — for students under 16. A gentle end-of-day check-in (mood + a few questions + space to say what was good or hard), with a grown-up overview and a per-child family/advocacy log.
- Throughline — for 16+ students and parents/carers. A private record over time, with an optional sync to the user's own Google Sheet.
Just want to use them? Go to https://r8rly.github.io/journals/, or open the app file in a browser. This repository is the source for people who want to read, self-host, or build on the code.
r8rly_journals/
├─ index.html ← r8rly.org homepage (the steward site)
├─ README.md
├─ LICENSE.md ← licensing overview
├─ LICENSE-CODE.md ← PolyForm Noncommercial 1.0.0 (the apps)
├─ LICENSE-CONTENT.md ← CC BY-NC-SA 4.0 (docs/content)
├─ OPERATOR-google-sheets-setup.md ← one-time Google setup (for whoever hosts)
└─ journals/ ← served at r8rly.org/journals/
├─ index.html ← journals landing
├─ days-end-journal.html ← Day's End (under-16 journal)
├─ throughline-journal.html ← Throughline (16+ / parent record)
├─ theme-studio.html ← theme picker demo (six presets)
└─ END-USER-GUIDE.md ← plain guide for people using the apps
These are self-contained single files — no build step, no dependencies.
- Quickest: open an
.htmlfile in a browser. (Note: opening viafile://blocks browser storage in some browsers — see below.) - Properly (storage persists): serve over a local web address, e.g.
python3 -m http.server 8000, then visithttp://localhost:8000/. - Host it: upload the files to any static host, or use GitHub Pages to serve this repo directly. On a real
https://address, storage works for everyone.
- Google Sheet sync (Throughline only): requires a Google OAuth client ID (and an API key for the "choose existing sheet" picker) added by whoever hosts the site — see
OPERATOR-google-sheets-setup.md. Placeholders are left in the code; never commit real keys. - The under-16 app (Day's End) deliberately has no Google sign-in — it stays account-free and local.
The apps store entries only on the user's device (and, optionally for Throughline, in the user's own Google account). R8rly never receives the data. If you host or modify this to collect other people's data — especially children's — you become the data controller and are responsible for compliance in your jurisdiction. See LICENSE-CONTENT.md.
These are personal reflection tools — not a counselling, crisis, medical, or reporting service.
Dual-licensed: code under PolyForm Noncommercial 1.0.0, documentation under Creative Commons. Free for noncommercial use; commercial licensing by request to R8rly.org. See LICENSE.md.
Copyright © 2026 R8rly.org.