Plans

Plans

Finite, day-by-day programs — start from a blueprint, an AI-generated import, or from scratch.

A Plan is different from a Habit: it's finite (it has a set number of days), each day can have its own content, and it progresses by completion order rather than a calendar streak. Use Plans for anything with a defined start and finish — exam prep, a fitness challenge, a course, a 30-day reset.

The Plans index with no plans yet, showing New plan and Browse templates buttons
Plans index (Overview → Plans in the sidebar) before you've created anything.

Four ways to start a plan

  • Open Plans from the sidebar and click 'New plan'. You land on a picker with four options plus a community gallery.
  • Blueprint — apply a ready-made template (Student Starter, Early Riser, Learn a New Language, Learn a New Programming Language, Structured Diet & Nutrition Plan, General Deliberate-Practice Skill Plan). Copies straight into your account and opens the editor so you can adjust it before you start.
  • Community plans — other users' published plans appear in a grid below the blueprints, each showing its author and day count. Click 'Use this plan' to fork a private copy for yourself.
  • Build with ChatGPT — describe your goal, copy a generated prompt into ChatGPT or Claude, paste the reply back, and rituall turns it into days and blocks.
  • Start from scratch — a 4-step wizard: Goal basics → Days & blocks → Evidence-based additions → Reminder & review.
Create a plan picker showing blueprint tiles, Build with ChatGPT, Start from scratch, and a Community plans grid below
The 'Create a plan' picker — every entry point in one place.

Step 1 of 4 — Goal basics (every field)

  • Plan name — required. Text input, placeholder 'e.g. Learn Spanish'. You can't move to step 2 without one; leaving it blank shows 'Give your plan a name before continuing.'
  • Description — optional, free text.
  • Category — optional free-text field (placeholder 'Language, Programming, Diet...') plus five quick-set chips: Language, Programming, Diet, Fitness, Custom. Picking a chip fills the field for you; you can still type anything else.
  • Icon (emoji) — optional, up to 8 characters. Paste any emoji.
  • Color — optional. Pick from 8 swatches, use the native color-wheel picker, or type a hex code directly. A live preview swatch shows the resolved color. Near-white values are automatically remapped to a soft pearl silver so borders and buttons stay visible.
  • Start date — defaults to today. Quick chips: Today, Next Monday, 1st of next month. This date only matters if you choose Calendar mode below — in Flexible mode it's just informational.
  • Pace style — a required choice between two radio options: Flexible (recommended), which moves at your own speed with no dates enforced, and Calendar dates, which locks each day to a real date but always lets you catch up.
Goal basics step showing empty Plan name, Description, Category with chips, Icon, Color swatches, Start date, and Pace style fields
Step 1, 'Goal basics' — every field on the from-scratch wizard's first screen.
Goal basics step filled in with a plan name, description, Language category selected, amber color, start date and pace style visible
Same step filled in — name, description, category, color, and the two pace-style options.

Step 2 of 4 — Days & blocks

  • Every plan needs at least one day — trying to submit with zero days shows 'Add at least one day.'
  • Each day has: a title (placeholder 'Day {n} title', falls back to 'Untitled day' if left blank), an optional rich-text intro (bold/italic/underline/strikethrough, headings, lists, checklists, quotes, code, links), and its own list of blocks.
  • Day-row controls: duplicate (copies the day and appends ' (copy)' to its title), move up, move down, remove. Use 'Add day' to append another.
  • A block is one row inside a day — either a plain checklist item or a time-scheduled item, toggled with the 'Set a time' checkbox. Enabling it defaults the time range to 7:00–7:30 AM; adjust the two time pickers as needed.
  • Once a block is timed, 'Copy this time to more days' lets you apply the same start/end time across a day range (defaults 2 to 7) in one click — useful for a recurring slot like 'Study — 7:00–7:30 AM' every day.
  • Anchor to habit (optional) — link a block to an existing Habit via a dropdown (defaults to 'None'). This is habit-stacking: doing the plan block right after/before a habit you already have.
  • Location cue (optional) — placeholder 'Where this happens — e.g. at my desk, in the kitchen'.
  • Tiny version (optional) — placeholder 'Tiny version — e.g. open the doc for 2 minutes'. This is what shows up as a fallback if you fall behind in Calendar mode.
  • Block notes (optional) — the same rich-text editor as the day intro, for anything else worth writing down.
  • Block-row controls: move up, move down, remove. Use 'Add block' to append another to the same day.
A day with one block expanded showing title, Set a time checked with 7:00 AM to 7:30 AM, Copy this time to more days, Anchor to habit dropdown, Location cue, Tiny version, and rich text notes
A single block, fully expanded — every block-level field, including the timed toggle and habit-stacking dropdown.

Step 3 of 4 — Evidence-based additions (all optional)

  • This step doesn't add required fields — it's three one-click buttons that insert pre-built content you can still edit afterward.
  • '+ Weekly review checkpoints' — inserts a review day every 7 days, titled 'Weekly review', with one block prompting 'Write your weekly reflection: planned vs. actual, one thing to adjust.'
  • '+ Spaced-repetition review blocks' — only shown if your Category is Language or Programming. Appends a review block at day offsets 1, 3, 7, and 14 (the classic spacing curve), titled 'Review: Day 1 material (spaced-repetition checkpoint).'
  • '+ If-then intention' — reveals a three-part form: 'If [cue], then I will [action]' plus an optional 'Main obstacle (WOOP)' field. This is Gollwitzer & Sheeran's implementation-intention research — a specific if-then plan beats relying on general motivation. It gets folded into your first day's notes when you submit.
Evidence-based additions step showing three buttons: Weekly review checkpoints, Spaced-repetition review blocks, and If-then intention
Step 3 — optional scaffolding. Everything it inserts stays fully editable afterward.

Step 4 of 4 — Reminder & review

  • Daily reminder — optional checkbox, off by default.
  • If checked: a time picker (defaults to 8:00 AM) and seven weekday toggle chips (Sun–Sat). Leaving all weekdays unselected means 'every day' — you don't have to tap all seven.
  • A read-only Review panel summarizes Name, Category, Days (count), Reminder (On/Off), and Schedule (Flexible or Calendar dates) before you commit.
  • Every new plan starts private — the review step reminds you of this; you can publish it later from its detail page once you're happy with it.
  • The final button reads 'Create plan'. It stays disabled/spinning while the plan saves, then takes you straight to the plan's detail page.
Reminder and review step showing Daily reminder checkbox unchecked and a review summary table with Name, Category, Days, Reminder, and Schedule
Step 4 — reminder toggle plus a final read-only review before creating the plan.

Building with ChatGPT — every field, step by step

  • 'What are you planning?' — optional one-line goal (placeholder 'e.g. 30-day Spanish speaking sprint, 20 min/day'). Leaving it empty shows a nudge that filling it in makes the generated prompt far more accurate.
  • 'Copy prompt for ChatGPT' generates a structured prompt asking for JSON only, schema version 1, up to 365 days and 50 blocks per day, timed or checklist blocks, and rich-text-compatible notes (headings, bold/italic/underline, lists, tasks, quotes, code, links). Click 'What's in the prompt?' to see the exact bullet list before copying.
  • Quick links open ChatGPT or Claude in a new tab, or download a sample JSON file if you'd rather see the expected shape first.
  • Step 2, Paste reply — a large textarea (or upload a .json file directly) for the AI's response. Click 'Check my paste' to validate.
  • If validation fails, every issue is listed in plain language, and a 'Copy fix prompt for ChatGPT' button generates a follow-up prompt you can paste back into the same chat to get a corrected reply.
  • Step 3, Preview & create — shows day count, block count, and whether the plan is self-paced or calendar-dated (with its start date), plus an expandable accordion of the first 3 days so you can sanity-check the content. You can still override the plan's name here before creating it.
Build with ChatGPT step 1 showing the What are you planning input, a numbered how-to list, and a Copy prompt for ChatGPT button
'Build with ChatGPT' — step 1 of 3, generating the prompt to paste into ChatGPT or Claude.
Example: applying the Student Starter blueprint
  1. 1From the picker, click 'Start from this' under a blueprint tile.
  2. 2rituall copies the blueprint's days and blocks into a brand-new private plan and opens the editor immediately.
  3. 3Every field — name, description, category, icon, color, start date, pace style, and all days/blocks — is pre-filled but fully editable, exactly like a from-scratch plan.
  4. 4Adjust anything you want (rename it, change the color, add a reminder), then use the normal edit-page 'Save changes' button — there's no separate 'confirm blueprint' step.
Edit page for a plan applied from a blueprint, pre-filled with name, description, category, color, start date, and 30 days listed below
A blueprint applied instantly into the editor — every field pre-filled, still fully editable.

Self-paced vs. calendar plans

  • Flexible/self-paced (default) — you move through the plan at your own speed. Completing 'today's' day always advances the cursor to the next incomplete one, whether that's tomorrow or three days from now.
  • Calendar mode — each day is pinned to a real date. Falling behind shows a catch-up banner with a tiny-version fallback so a busy day doesn't break the plan. Once any day is completed, the pace style locks — restart the plan from its menu if you need to switch modes.

The plan detail page

  • Progress ring and pace badge (e.g. 'On track') at the top of the plan card, plus current streak once you've completed at least one day.
  • Timeline view — a scrollable, week-grouped, day-by-day list. The current day is highlighted and labeled 'TODAY'; the next incomplete day is labeled 'UP NEXT'. 'Mark [day] done' completes it in one click; 'Undo' reverses that.
  • Calendar view — a month-grid heatmap with a legend (Done / Today / Upcoming). Clicking any date opens a side panel with that day's title, status, an 'Open in timeline' shortcut, and a few nearby days for quick navigation.
  • Weekly review and If-then intention panels sit above the timeline/calendar if you added those in step 3 (or want to set them up later) — 'Start review' and 'Set intention' open their respective forms.
  • The '...' menu on the detail page holds pause, resume, duplicate, export (JSON/Markdown/ICS calendar), restart, and abandon.
Plan detail page in Timeline view showing progress ring, On track badge, Day 1 marked TODAY, and a week-by-week list of days
Plan detail page — Timeline view, with the weekly review and if-then intention panels above it.
Plan detail page after marking Day 1 done, showing a 1 day streak badge, Day 1 marked Done with an Undo button, and Day 2 highlighted as Up next
After marking a day done — streak badge appears, and the timeline auto-advances to the next day.
Plan detail page in Calendar view showing a month grid for August with day 1 selected, a Done/Today/Upcoming legend, and a side panel with that day's details
Calendar view — month-grid heatmap with a day-detail side panel.

Today & Tomorrow — the merged agenda

  • Both the Overview dashboard and a dedicated '/plan/today' page show every active plan's current step merged into one chronological list, grouped into Today, Up next, and Tomorrow.
  • Complete a whole day at once from this panel, or open the plan itself to check off individual blocks.
  • When everything for today is done, the panel confirms it with a short message ('All done for today — nicely paced.') instead of just going blank.
Overview dashboard showing a Today and tomorrow card with Day 1 completed, Day 2 up next, and a note that tomorrow has 1 item across 1 plan
Overview dashboard's 'Today & tomorrow' card — every active plan merged into one agenda.
Full page Today and tomorrow agenda listing todays completed day, up next day, and tomorrows day across all active plans
The full '/plan/today' page — same agenda, dedicated screen.

Spaced repetition

  • Turn on spaced repetition for any block worth reviewing later (a vocabulary list, a key formula) from the block's controls.
  • Reviews appear in the Review Queue when they're due, with four grading buttons — Again, Hard, Good, Easy — using an SM-2-style algorithm: grading 'Again' resets the interval, while Hard/Good/Easy scale the next interval further out each time you get it right.

Streaks, pinning, and publishing

  • Plans track their own streak, separate from Habit streaks, with an optional streak-freeze (up to 3 uses per 30 days) to bridge a single missed day.
  • Pin your most important plan (the pin icon on its card or detail page) to keep it at the top of your Plans list.
  • Publish a plan from its detail page to share it with the community — others can fork it into their own copy, and you can track its fork count and finish rate on the public gallery.

Free-tier limits

  • Up to 50 active plans at once on the Free tier. Finish, pause, or abandon one to free up a slot.
  • Up to 365 days and 50 blocks per day, per plan — enforced whether you build from scratch, import via AI, or apply a blueprint.

Field reference — from-scratch plan builder

FieldRequired?DefaultNotes
Plan nameRequiredemptyBlocks moving past step 1 if empty.
DescriptionOptionalemptyPlain text, no formatting.
CategoryOptionalemptyFree text, or pick one of 5 chips: Language, Programming, Diet, Fitness, Custom.
Icon (emoji)OptionalemptyMax 8 characters.
ColorOptionalamber (#f5a623) if left blank8 preset swatches, native color picker, or type a hex code. Near-white is remapped to a visible silver.
Start dateHas a defaulttodayOnly affects behavior in Calendar mode.
Pace styleRequired choiceFlexible (self-paced)Locks once any day is completed — restart the plan to change it.
DaysAt least 1 requiredone day titled "Day 1"Blank day titles become "Untitled day" on save.
Block titleOptional per blockemptyBlank blocks are dropped silently on save.
Block timed toggleOptionaloff (checklist-style)Checking it defaults the time range to 7:00–7:30 AM.
Anchor habitOptionalNoneLinks the block to one of your existing Habits.
Location cueOptionalemptyFree text, e.g. "at my desk."
Tiny versionOptionalemptyShown as a fallback when you're behind in Calendar mode.
Daily reminderOptionaloffWhen on: time defaults to 8:00 AM, no weekdays selected = every day.
Example: a week with a study plan
  1. 1Monday: complete Day 1 — 'Reading comprehension basics'.
  2. 2Tuesday: complete Day 2, and mark 'Vocabulary list' for spaced repetition.
  3. 3Wednesday: too busy — use the tiny-version fallback to keep the streak alive.
  4. 4Thursday: catch up, completing both Wednesday's and Thursday's content.
  5. 5Sunday: review due vocabulary cards in the Review Queue, grading each one.