← Toolkit

School Calendar Visualizer

A reusable year-at-a-glance calendar template. Tag days by type, lay lesson pacing on top, and it all stays saved in this browser.

Year

Day Types

Each type prints as a distinct pattern, not just a color, so a black & white copy still reads correctly. Click a day in the calendar below to tag it with one or more types.

Bell Schedules

Which schedule each day uses

A day tagged with a day type that has a schedule uses that one first (an early dismissal on an A day uses the early-dismissal times). Otherwise an A or B day uses its letter's schedule, when the A/B cycle below is on and one is chosen, and any other school day uses the ordinary one. Click a day to see the times it gets.

A/B Day Cycle

The cycle alternates on every school day (weekdays not tagged "No school" in a Day Type above) and skips weekends and no-school days entirely, so it stays correct across breaks. Pick a date you know for certain — today, or the first day of school. Once applied, every day on the calendar below shows its A/B letter.

Courses

Lesson naming convention & how pacing works

One lesson per line, named U<unit>-<lesson>-<A|B>-<Title>:

  • U1-03-A-Urbanization & Trade Networks — Unit 1, Lesson 03, written for an A day.
  • U2-BUF1-B-Buffer / Review Day — buffer/review days use a token like BUF1 instead of a number.

Zero-pad lesson numbers (01, 02…) so lists stay in order. The title can contain anything, including hyphens. Lessons fill school days in the order pasted — weekends and no-school days are skipped; early dismissals still get their lesson, marked with ½. To push a lesson back a day (it ran long, an assembly ate the block), open that day and use Bump forward — everything after it slides one school day, and your reason shows on the vacated day. For a snow day, tag the date with a no-school type (the day editor has a shortcut) and the whole sequence reflows around it automatically, A/B letters included.

Placement is always computed from the sequence, so editing a past day reflows everything after it. To freeze what you actually taught on a given day, write it in that day's Lesson / unit note field — that note never moves.

A course with no lessons can be planned in units instead: give each unit a number of class days and it takes that many, one after another, moving later when a day is lost. Pin a unit to a date to make it start there whatever happens before it: the days before it stay open if earlier units finish early, and the unit before it comes up short if they run long. The table says which. A day type can be left out of pacing (untick Count for pacing in Day Types), and a course can count or skip a type for itself below its units.

Buffer days are a unit's spare days: in a lesson list, the lessons numbered BUF1, BUF2…; in a course planned in units, the number in the unit's Buffer column, its last days. They are planned like any other day. Tick Buffer days take a lost day and a day the course loses inside a unit (a closure, a day it didn't meet, a lesson that needed another day) uses up that unit's last buffer day instead, so the unit still ends when it was planned to; the table says how many were used. It is off unless you turn it on, so a lost day moves everything later and you decide.

An A/B course is one list of lessons for both letters. Split into A and B makes it two courses, one meeting on A days with the A lessons and one on B days with the B lessons, each with its own bumps, so a lesson that needs another day moves one track only. You see what would change first.

Each course is one prep's plan, with its own lessons, bumps and lost days; the calendar shows the course picked above. A course that meets on A days only counts A days as its class days. In a day's editor, This lesson needs another day puts an empty class day in front of that lesson and stays with it; This class didn't meet takes that date away from this course only (an assembly), whatever lesson was planned. When a change moves lessons, a bar at the top says what moved and offers Undo.

Every other course's units show as thin coloured bands along the bottom of each day, one row a course in the order of the tabs, so you can see where your preps' units line up; hover a band for its course and unit, or open the day for every course's plan in words.

Each course says how many class days it is behind its plan, or ahead of it, and why: the plan is the dates as they stood when you first gave the course its lessons or units, kept up to date while you are still planning and held fixed from its first class day, until you press Make this the plan. Behind is counted in that course's class days, so an A-day course is behind in A days.

Shift-click selected a range of days. Checked types are added to every day below (existing tags are kept); a label, lesson note, or other note you type here replaces each day's, but only if you type one — leave a field blank to leave those days' existing text alone.