Skip to main content
A student information system (SIS) parent portal shows the current state of every class. It does not show history. When a teacher changes a grade from two weeks ago, deletes an assignment, or marks work as missing after the fact, the portal updates silently. Families notice only if they kept their own screenshots or spreadsheets. Table Mutation Tracker keeps that history for you. It scrapes the portal on a schedule, stores every scrape as a timestamped snapshot in a private Git repository, and shows the differences between snapshots on a calendar, in the style of the Internet Archive’s Wayback Machine.

Who it’s for

The primary user is a parent following one student across their classes. The same pattern applies to anyone who needs an audit trail for a system that only shows its present state.

What you get

  • A calendar of changes. Each day is colored by the most significant change it contains: deletions, then modifications, then additions.
  • Field-level detail. Open a day to see each changed assignment, with the old and new score, grade, category, comment status, and status flags such as late or missing.
  • A deleted-assignments history. Every assignment that disappeared, with when it was first seen and when it was removed.
  • Weighted GPA, computed from class grades and recorded with every snapshot.
  • An audit trail you can point to. Every snapshot is written to Git as timestamped commits, so any later edit shows up in the history.
Grades in the portal are the source of truth. This project records what the portal showed at each scrape so changes can be discussed with evidence, not memory.

Explore the docs

How it works

The runtime boundaries and what each one is trusted with.

Change detection

How two snapshots are compared, and what counts as a change.

n8n workflow

The scheduled pipeline, node by node, including its fallback path.

Runbook

Deploy, rebuild the index, rotate secrets, and generate test data.

Data model

Snapshot files and the rolling index, field by field.

API reference

The scraper endpoints that n8n calls.