Most student planners answer what is due next. That is useful, but it is not always the same as answering what deserves the next hour of work.
I wanted a planning system that stayed local, exposed its logic, and could answer a more practical question:
Which open assignment gives me the best chance of reducing academic risk right now?
So I built an Excel workbook that combines weighted-grade scenarios with an assignment-priority model. This post explains the design choices, the formula boundaries, and the parts I deliberately did not automate.
The problem with a single projected grade
A single projection creates false precision. If several assignments remain, the final result depends on assumptions about work that has not happened yet.
Instead of showing one number, the workbook calculates three paths for every course:
- Low: a downside case for the remaining work
- Expected: the current working assumption
- High: an upside case
For a course with completed weighted contribution C, remaining weight R, and assumed remaining average A, the basic projection is:
Projected final = C + (R × A)
The important part is not the arithmetic. It is making the assumption visible. When the Low, Expected, and High values sit together, the user can see whether the target is robust or depends on an optimistic outcome.
Required average needs a fail-closed state
A common grade calculator reports the remaining average needed to hit a target:
Required remaining average = (Target - C) / R
But a spreadsheet should not quietly display a plausible-looking percentage when the target is mathematically unreachable. My workbook adds an explicit UNREACHABLE state when the required remaining average exceeds 100%.
That warning is not a prediction about the student. It is an input-validation result. It tells the user to verify weights, drops, curves, extra credit, or the target before allocating more time based on a bad assumption.
Turning open assignments into an action queue
The next step was separating deadline order from decision priority.
The transparent priority model starts with:
Priority ≈ (grade weight / estimated hours) × deadline urgency
This is intentionally understandable rather than “AI-powered.” A student can inspect the inputs and see why a task moved up or down.
The ACTION_PLAN sheet filters open work, validates estimated hours, and recommends a next assignment. If the hours input is zero or invalid, the logic fails closed instead of rewarding a division error with an extreme score.
The model is not meant to replace judgment. It is a structured first pass that helps expose trade-offs:
- A large assignment may matter a lot but require many hours.
- A smaller assignment may offer more grade weight per hour.
- A deadline can increase urgency even when raw efficiency is lower.
- A course already below its downside target may deserve attention before a comfortable course.
Why I kept it local and formula-visible
There are many capable planner apps, but this project deliberately uses a buyer-owned XLSX file:
- No account is required to use the workbook.
- Course and assignment data stays in the local file.
- The planning rules are inspectable instead of hidden behind an API.
- The user can edit assumptions and keep independent copies.
That choice has limits. A local workbook does not provide automatic cross-device sync, push notifications, or collaborative classroom administration. I would rather state those limits clearly than pretend a spreadsheet replaces a full student information system.
Verification work
The current package was checked on a Linux QA workstation with:
- 206 automated tests passing
- 6,749 formulas scanned with no formula errors in the checked output
- LibreOffice headless recalculation
- a 16-page PDF render with no blank pages
- ZIP integrity and SHA-256 manifest checks
Microsoft Excel desktop verification has not been independently observed in this environment, so I do not claim stronger compatibility than the evidence supports.
The workbook is also a planning aid, not an official grade calculator. Real course policies may include dropped scores, curves, category caps, extra credit, or rules that cannot be represented by simple weighted percentages.
What I learned
The most useful design change was moving from “show more metrics” to “produce one explainable next action.” Dashboards often fail because they display everything while deciding nothing.
The second lesson was to make impossible and invalid states visible. A clear UNREACHABLE or CHECK OPEN HOURS message is more valuable than a polished but misleading number.
Finally, local-first does not have to mean opaque or primitive. A spreadsheet can become a small decision system when assumptions, constraints, and failure states are treated as product features.
Try the workbook
I published the full Academic Grade & Assignment Decision Dashboard Pro package on Gumroad for a US$12 launch-price experiment. It includes the XLSX workbook, a 16-page PDF reference, English/Korean quick-start guidance, a personal-use license, and an integrity manifest.
View the paid workbook on Gumroad
There is no promise of a particular academic result. The useful test is simpler: does the workbook help you verify your assumptions and choose the next study block with less guesswork?
Top comments (0)