GradeScript

Write your grading policy once. Get a live calculator for free.

THE IDEA

Most grade calculators make you re-enter your policy by hand, every time, in a form. GradeScript is a tiny language that lets you write the policy once — then it becomes a live calculator, a syllabus paragraph, a spreadsheet formula, and an LMS config, all at once.

LEXERPARSERASTCALCULATORSYLLABUS TEXTSPREADSHEET FORMULALMS CONFIGZERO DEPENDENCIESREVERSE SOLVER
A typical grade calculator
Re-enter your policy ↓ every single time One number out
— no memory, no reuse —
With GradeScript
1 policy, written once ↓ reused forever → Live calculator
→ Syllabus text
→ Spreadsheet + LMS config
— and a reverse solver —
TRY IT IN 30 SECONDS
①
Choose a class

Use the dropdown, top right, once you're in.

②
Change a weight

Click into the policy and edit any number.

③
Watch your grade change

Then try "what do I need on the Final?"

That's genuinely all you need to know before clicking in — everything else is labeled as you go.

DSL compiler
How to use this page

The problem, in one picture

Most online grade calculators make you type your whole policy into a form every time you use them. With GradeScript, you write the policy once, and it becomes a live calculator, a syllabus paragraph, a spreadsheet formula, and an LMS config — all generated from that one source.

Navigating it (30 seconds)

  1. Pick a class from the "Load class" dropdown, top right.
  2. You start on the "📊 Build" tab: a simple table on the left — category name, weight, late cap, retake cap. No code required. On the right, type your current average into each category (starts pre-filled with example numbers you can overwrite).
  3. Try it: change a category's weight, or type a new average into a category, and watch the grade update instantly, no save or reload. Click "👀 View the generated code" if you want to see the real language underneath the table.
  4. Scroll to "🎯 What do I need?" on the right — pick a category and a target grade, and it tells you the minimum score you need there to hit that target.
  5. Click "🔄 See it Translated" to see the same policy as a syllabus paragraph, a spreadsheet formula, and an LMS config.
  6. Click "🎓 GPA Dashboard" to see all 6 default classes at once, with an overall GPA computed across them — most grade calculators only ever show you one class at a time.

Quick glossary

Category
A graded bucket, like "Homework" or "Tests," with a percentage weight toward the final grade — all categories should add up to 100%.
Weighted grade
A grade where categories count different amounts — a 90% on a category worth 40% contributes more than a 90% on one worth 10%.
Late cap
An optional ceiling on a late assignment's score (e.g. 70%) instead of a flat zero. Leave blank if a category never needs one.
Retake cap
An optional ceiling on a retaken assignment's score (e.g. 80%), so redoing it isn't "free" compared to getting it right the first time.
LMS
"Learning Management System" — the software a school uses to track grades, like Canvas or Google Classroom.
DSL
"Domain-Specific Language" — a small language built for one job only (here: describing a grading policy), instead of a general-purpose language like Python.
Compile / transpile
Automatically translating one piece of code into another language without a human rewriting it by hand.
Reverse solver
Instead of "here's my grades, what's my average," it works backward: "here's the grade I want, what score do I need?"

Full write-up: GLOSSARY.md · Full syntax: LANGUAGE.md

📊Build the policy
Category Weight (%) Late cap (%) Retake cap (%)
👀 View the generated code
Ready.
🧮Live results
🔄Translated
🎓GPA Dashboard — all your classes at once