Settings

Connect a Supabase database so your data syncs across devices. See supabase-setup.md for the full walkthrough.

Cloud sync (Supabase)

Paste your Supabase Project URL and anon public key. They're stored in your browser's localStorage only.

Status: Not configured

Backup & restore

Supabase already backs you up daily (free tier = 7-day retention; Pro = point-in-time recovery). This card adds a one-click full export you can save anywhere as belt-and-suspenders, plus a restore button if something goes catastrophically wrong.

What's in the backup?
  • Students + notes + homework + sessions + invoices
  • Parent intakes (incl. converted ones)
  • College plans + linked Sheet URLs (the Sheets themselves stay in Drive)
  • Login events + revoked emails
  • Your local question bank edits

Restore is destructive — it deletes your current Supabase rows and inserts the backup's rows. Use only for true recovery, not casual snapshot-loading.

QA self-test

Runs the full workflow (intake → student → homework → college plan → portal access checks) using fake QA_TEST_-prefixed data, then cleans up. Useful after any change to verify nothing's broken.

The render preview lets you visually verify math (exponents, fractions, italics) and image-based questions look right — across stems, choices, passages.

Parent intake — public link

To email an intake form to a parent, you need a public URL where parent-intake.html is hosted. Easiest: push this folder to GitHub Pages or Netlify (both free). Paste that URL below — then the Students page gets a "Send intake link" button.

Status: Not set
How sending an intake link works

When you click Send intake link on the Students page, the website composes a mailto with a URL like:
{your public URL}/parent-intake.html?sb=…&ak=…
The sb + ak params embed your Supabase URL + anon (public) key so the parent's browser can submit directly. The anon key is designed to be public — RLS protects the actual data.

AI polish — Claude API key

Optional. Used by Session report builder to polish your questionnaire into a parent-ready report. Get a key at console.anthropic.com (≈ $0.01 per polished report). Stored only in this browser — never sent to the cloud sync.

Status: Not configured
Cloud-sync session reports + Common App checklists (optional)

Both of these tools store data in this browser's localStorage today — already backed up via "Export all" but not synced across devices. The cloud-sync code is wired up and just waiting for the tables to exist. To turn it on:

  1. Open the Supabase SQL editor.
  2. Run db-migration-session-reports.sql
  3. Run db-migration-commonapp-checklists.sql

Both files live in the repo root. After running them, every save here auto-pushes to Supabase and a fresh device sign-in pulls them down. The push silently no-ops on environments where the tables don't exist, so nothing breaks if you only run one of the migrations.

College planner — Apps Script

Deploys a tiny Google Apps Script web app under arishapirotutoring@gmail.com that creates the real Google Sheet + Google Docs per essay. One-time setup (~5 min). See apps-script/SETUP.md for the walkthrough. Paste the deployed Web App URL below.

Status: Not configured