We’re Building a Moon Ritual Planner — and You Get to Shape It

1 min read 169 words
Last updated: August 30, 2026

Some projects sit quietly in the back of your mind for years before they insist on being made. This is one of ours.

We're building a moon ritual planner — one that starts from the real sky (every phase computed from actual astronomical data, for your location), plans each lunar cycle around your practice, and produces printable grimoire pages beautiful enough to bind straight into your book of shadows.

It isn't finished. That's exactly why we're telling you now: the founding circle gets to shape what it becomes — which correspondences it knows, which rituals it plans for, what the printed pages look like in your hands.

Everything about it — what it will do, the free waitlist, and the founding circle — lives here:

→ Your Practice, In Rhythm With the Moon

As always: no hype, no promises about what the universe will do for you. Just a better way to keep the rhythm of a practice that's already yours.

Join The Mystic Circle

Weekly spells, moon rituals & magickal wisdom — plus a free ritual planner.

Enjoyed this article?

Join Witchcraft For Beginners for exclusive content and updates.

Subscribe Free

Enhance Your Practice

As an Amazon Associate, I earn from qualifying purchases.

The Complete Witch's Compendium

Everything a Witch Needs, in One Living Grimoire

941 pages across 5 volumes and 6 bonus guides — foundations, herbalism, tarot, crystals, 26 traditions, a fillable Book of Shadows, and a seasonal companion. The last witchcraft resource you'll ever need.

941Pages 5Volumes 6Bonus Guides
Explore the Compendium →
From $19.99 · Save 20% with code WITCHLAUNCH · 30-day guarantee

🌙 Get a Free AI Tarot Reading

Luna reads the cards just for you — powered by AI, guided by the stars. No account needed.

Draw Your Cards Now ✨

Powered by Luna's Circle — AI Spiritual Guidance

Witchcraft For Beginners Editorial
Witchcraft For Beginners Editorial
Articles: 972
/** * WCFB Umami funnel stub — product_impression / product_click * * Env-gated via window.WCFB_UMAMI_CONFIG (set by PHP snippet or inline config). * Does NOT emit fake analytics when disabled or when umami is unavailable. */ (function () { 'use strict'; var cfg = window.WCFB_UMAMI_CONFIG || {}; var enabled = Boolean(cfg.enabled); var websiteId = cfg.websiteId || ''; function umamiReady() { return enabled && websiteId && typeof window.umami === 'function'; } function track(name, props) { if (!umamiReady()) { return; } try { window.umami(name, props || {}); } catch (e) { /* silent — analytics must never break the page */ } } function readAttrs(el) { return { product_id: el.getAttribute('data-product-id') || '', variant: el.getAttribute('data-variant') || 'A', surface: el.getAttribute('data-surface') || 'unknown', }; } function bindImpressions() { document.querySelectorAll('[data-event="product_impression"]').forEach(function (el) { if (el.dataset.umamiImpression) { return; } el.dataset.umamiImpression = '1'; track('product_impression', readAttrs(el)); }); } document.addEventListener('click', function (e) { var target = e.target.closest( '[data-event="product_click"], [data-event="add_to_cart"]' ); if (!target) { return; } track('product_click', readAttrs(target)); }, true); if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', bindImpressions); } else { bindImpressions(); } })(); /** * WCFB Exit Intent Modal — loads exit_intent zone HTML once per session. */ (function () { 'use strict'; var SHOWN_KEY = 'wcfb_exit_intent_shown'; if (sessionStorage.getItem(SHOWN_KEY)) return; var apiBase = window.WCFB_CONVERSION_API || ''; if (!apiBase) return; function showModal(html) { if (!html || html.indexOf('wcfb-zone') === -1) return; sessionStorage.setItem(SHOWN_KEY, '1'); var overlay = document.createElement('div'); overlay.className = 'wcfb-exit-overlay'; overlay.innerHTML = ''; overlay.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:99999;display:flex;align-items:center;justify-content:center;padding:1rem'; var modal = overlay.querySelector('.wcfb-exit-modal'); if (modal) { modal.style.cssText = 'max-width:520px;width:100%;background:#12121a;border-radius:12px;padding:1.5rem;position:relative'; } overlay.addEventListener('click', function (e) { if (e.target === overlay || e.target.classList.contains('wcfb-exit-close')) { overlay.remove(); } }); document.body.appendChild(overlay); } function fetchZone() { var url = apiBase.replace(/\/$/, '') + '/zones/exit_intent'; fetch(url, { credentials: 'omit' }) .then(function (r) { return r.text(); }) .then(showModal) .catch(function () {}); } var triggered = false; document.addEventListener('mouseout', function (e) { if (triggered) return; if (!e.relatedTarget && e.clientY <= 0) { triggered = true; fetchZone(); } }); })();
Featured on
Listed on DevTool.ioListed on SaaSHub
Featured on
Listed on DevTool.ioListed on SaaSHub