Skip to the content.

Demo Walkthrough

This doc describes a click path through every workflow on staging (Site address provided separately), for demonstrating the current application using synthetic data.

Setup and Technical Details

It uses the demo data from supabase/seed-data/projects.json and the fixtures in supabase/seed.sql. Every date is relative to the last reset, so the data never looks stale, and a reset puts everything back.

To prepare, you need to reset the data to the starting point, then utilize the demo accounts listed below with a password, also provided separately.

npm run demo:reset -- --staging

This command needs .env.staging.local complete and asks you to type the project ref before dropping anything. What it runs and which variables it reads are under Reset staging in Environments (in the repo docs).

Reset again after a demo if anyone will click through it next.

Accounts

Every demo account signs in at /login with the password in DEMO_PASSWORD. Share it out of band, never in the repo or an issue.

Who Email Role Use for
Morgan Reyes demo.morgan@example.test staff screening, publishing, decisions, payouts
Priya Natarajan demo.priya@example.test staff reviewer: scoring
Dan Okafor demo.dan@example.test staff reviewer
Lena Fischer demo.lena@example.test staff reviewer
Eva Lindqvist demo.eva@example.test educator applying; a completed grant with all its follow-up
Omar Haddad demo.omar@example.test educator follow-up on a paid-out grant; a returned application

Donors need no account. The fixture accounts in seed.sql (staff@example.com and so on) have no password on staging and can’t sign in.

Click path

Sign out between roles (the avatar menu, top right).

Each section has a recording, made with npm run demo:record against a local reset of the same seed, so it shows what staging shows after a reset. Re-run it after a UI change; the clips are in videos/. Click a picture to play its clip.

Educator applies (Eva)

  1. My Projects shows Eva’s applications at every stage: a completed Enrichment Grant, a draft, and a Fund-A-Teacher project open for donations with its progress.
  2. Start an Application → Enrichment Grant. Fill in the details, the five narrative sections (word counts are guidance only), and upload a budget (any PDF; supabase/seed-data/files/budget.pdf works).
  3. Review → Submit. The confirmation names the open cycle (Spring 2027).
  4. Open Hydroponic Garden Lab: the status timeline, who acted at each step, the award, and the follow-up files (receipt, two photos, final report), which download.

Staff screens and publishes (Morgan)

  1. Dashboard shows what needs attention.
  2. Applications → Graphic Novel Classroom Library (submitted) → Begin screening.
  3. School Garden Tools (in screening) → Publish to Fund-A-Teacher. It now appears on the public Browse Projects page.
  4. Coding Robots for Grade 6 shows a return for revision, with the feedback the educator sees.

Reviewer scores (Priya)

  1. Scoring lists the Winter 2026 cycle’s applications, which are in their scoring window.
  2. Open Coding with Microbits and score it against the rubric, or Recuse myself with a reason.

Review meeting and decisions (Morgan)

  1. Grant Cycles → Spring 2026 Cycle: a recorded cycle, with awards in full and in part, declines (one withheld from publication), a return and a withdrawal, all within the $7,500 pool.
  2. Fall 2026 Cycle → Meeting: its meeting date has passed. Applications are ranked by score against the pool. Set a proposed outcome for each (award in full or in part, decline, return for revision) and Save; proposals can change until Record decisions records them all in one step. It refuses while Community Garden Expansion is still only submitted: screen it and send it to committee review under Applications, then come back and record.

Donor gives (signed out)

  1. Browse Projects → search or filter → open Tabletop Art Easels.
  2. Donate as a guest, with a name and email. The checkout is the stub processor’s page: Approve payment completes it, Decline payment shows a failed payment.
  3. The thank-you page, and the project’s progress bar has moved.
  4. As Morgan, Outbox shows the donor’s receipt, unsent (see the limits below).

Staff closes donations, pays out, completes (Morgan, then Omar)

  1. Applications → Tabletop Art Easels → Close to donations.
  2. Payouts → Record a payment: check or transfer, payee, reference. Tick Final payment to move it to disbursed. Paying out more than was received is refused. A payout can be marked cleared, or voided with a reason.
  3. As Omar, open Mobile Makerspace Carts (disbursed) and upload a final report (supabase/seed-data/files/final-report.pdf works).
  4. As Morgan, open it again → Mark complete.

Tracking (Morgan)

Tracking shows each cycle’s pool against what it allocated, then every application’s requested, allocated, raised and disbursed amounts and its follow-up documents, filterable by track, status and cycle.

Known limits