Subjects & Rituals

Subjects & Rituals

Everything in the calendar belongs to something. Subjects and rituals are what it belongs to.

A subject is a container โ€” a course, a project, a domain of your life. A ritual is a recurring pattern inside a subject โ€” a lecture, a practical, a training session that happens every week. Together they form the structural backbone of the schedule.

Understanding them is the difference between using the calendar as a to-do list and using it as a plan.

Subjects โ€” the top-level structure of a schedule.
Subjects โ€” the top-level structure of a schedule.

Subjects

A subject is anything you want to group related sessions under.

For a university student, a subject is usually a course โ€” PHY227, MAM152, CSC211. For someone else, it might be a project (Home Renovation), a domain of health (Calisthenics), or a commitment (Volunteering). The app does not care what a subject represents. It only cares that sessions belong to one.

Each subject has three fields:

  • A short code โ€” the way it appears in the calendar and in lists. Something like PHY227 or GYM.
  • A full name โ€” the way it appears on the subject detail page. Something like Physics 227 โ€” Environmental and Water Sciences.
  • A colour โ€” assigned automatically but changeable. The colour appears on every session that belongs to the subject.
A subject in detail, with its recurring rituals.
A subject in detail, with its recurring rituals.

A subject can be archived, which hides it from the main subject list but preserves its history. Archiving a subject does not count against your subject capacity โ€” only active subjects count. Archived subjects can be restored at any time.

Rituals

A ritual is a recurring pattern inside a subject.

The lecture that happens every Monday at 11. A tutorial that meets on Tuesdays. A workout that runs three times a week. Each of these is a ritual โ€” a defined shape that repeats on a schedule.

The ritual form โ€” title, type, day, time, duration, and recurrence.
The ritual form โ€” title, type, day, time, duration, and recurrence.

A ritual has the following fields:

  • Title โ€” how the ritual appears on the calendar.
  • Type โ€” a category, described below.
  • Venue โ€” where it happens.
  • Day of week โ€” which day of the week it repeats on.
  • Start hour โ€” when it begins.
  • Duration โ€” how long it lasts, in hours.
  • Start date โ€” the first day the ritual is active.
  • End date โ€” optional. If left blank, the ritual runs indefinitely.
  • Recurrence rule โ€” weekly, biweekly, monthly, yearly, or once-off.
  • Colour โ€” optional. Defaults to the subject's colour.

Once a ritual exists, its occurrences appear on the calendar as virtual sessions โ€” sessions that are not stored in the database, but calculated on demand. A ritual that runs weekly from September to December appears once per week in the calendar, without any of those occurrences being separately recorded until they are interacted with.

Ritual types

A ritual type is a reusable category. It exists so that a lecture looks like a lecture everywhere, and a practical looks like a practical.

Three types are global โ€” available to every user:

  • Lecture โ€” an academic session, taught.
  • Meeting โ€” a coordination session, whether with a supervisor, a group, or a colleague.
  • Assignment โ€” a written or submitted deliverable.

These three are read-only. They appear on every subject, dimmed, and cannot be edited or deleted.

You can also create your own types inside a subject. If PHY227 has a weekly Lab Session that no other subject has, you create it once and reuse it for every PHY227 ritual of that type.

Ritual types have their own colours. A lecture type might be teal, a meeting amber, an assignment violet. When a ritual is assigned a type, the type's colour appears as a badge on every session that belongs to it โ€” visible in the calendar and on the task detail page.

Independent tasks and deviations

Not everything fits the ritual pattern. The app has two other task shapes for that.

An independent task is a one-off. It has a title, a date, a time, and a duration, but no ritual parent. Use it for anything that does not repeat โ€” a dentist appointment, a one-time meeting, a specific research task.

A deviation is a ritual occurrence that has been moved, changed, or completed. When you drag a virtual session to a new hour, the app creates a deviation: a real row in the database that replaces the virtual one for that date. The ritual itself is unchanged. Only the single occurrence is deviated.

This distinction matters. A ritual is a pattern. A deviation is what happened. The calendar shows both, but the underlying records are different โ€” and the app keeps them separate so that the pattern itself is not affected by one modified occurrence.

How it all fits together

The structure of the app, from largest to smallest, is:

  • A subject contains many rituals.
  • A ritual has a type and a recurrence rule.
  • A ritual generates virtual sessions on the calendar.
  • A virtual session, when changed or completed, becomes a deviation.
  • A task that does not belong to any ritual is an independent task.

Everything else in the app โ€” the calendar, the goals, the arena โ€” builds on this structure. When the app asks you how aligned your time is, it is asking how much of what you did belongs to a subject, and how much of that belongs to a goal.

> A subject is where a ritual lives. A ritual is what a week looks like on repeat.