Bridging Ancient Rhythms with Modern Code
The story of how a casual conversation sparked a journey into time itself—building a 13-month lunar calendar that honors Celtic wisdom while solving an age-old astronomical puzzle.

One day, Verotica and I were scrolling through social media when she looked up from X and said, "We should build a 13-month lunar calendar."
I put down my iPad. The idea hung in the air between us—simple, audacious, ancient.
We've all lived by the Gregorian calendar since 1582, when Pope Gregory XIII adopted it to fix the centuries of drift plaguing the Julian calendar. But what if we could reach further back—to the older rhythm of thirteen 28-day months—and make it work? Not as a historical curiosity, but as something alive and functional?
I fired up Visual Studio Code.
The Challenge: Dancing with Drift
With ChatGPT as my thinking partner, I tackled the heart of the problem: drift. Thirteen months of 28 days gives you 364 days. Add one leap day every four years? Still not enough. The same tiny slippage that doomed the Julian calendar would haunt us too.
Code scrolled down the terminal. Functions nested within functions. Human intuition and artificial reasoning wove together, searching for a calendar that could follow the stars, track the moon, and never stray from its celestial path.
Then we found it.
The solution glowed on the screen in quiet triumph: add one extra day every year, and two days every leap year.
We named the first day Mirabilis Solis—the Day of Wonder, belonging to the sun. The second, arriving only in leap years, became Mirabilis Noctis—the Night of Wonder. Days outside time itself. Days that existed in the hush between cycles, allowing the calendar to breathe in harmony with the cosmos.
We had done it. A fully functional 13-month calendar.
Making It Practical
Excitement is one thing. Usefulness is another.
For the Lunar Almanac to thrive beyond an academic exercise, it needed to speak both languages—Gregorian and Lunar—fluently. We built an engine to translate between them. Standard dates became lunar dates and back again, seamlessly.
But this wasn't just theory. We were building a progressive web app—something people could install on their phones and use like any other calendar.
The Soul: Celtic Wisdom
What should we call these months? These days?
I've always been drawn to Celtic culture—the way it honored cycles, celebrated story, and saw the sacred in the turning of seasons. While we don't know exactly how the ancient Celts measured time, they likely used lunar rhythms. This felt like the right path.
We crafted thirteen months with evocative names: Solis, Brigid, Eira. Days of the week became Moonday, Wyrdsday, Freyasday—echoing both ancient and Norse traditions that the Celts would have known.
Celtic knotwork adorned the interface. We tracked the ancient Celtic holidays and zodiac, wove in full moons and eclipses, noted modern national holidays. A settings screen let users make it their own.
The Partnership: AI as Kin
By this stage, I'd moved from ChatGPT to Claude Code, working alongside this powerful platform to fix the remaining bugs and polish the experience. The collaboration felt natural—not AI as a tool, but as a creative companion.
The Lunar Almanac became the foundation for future apps. We're planning a period tracker for women who want to honor their natural cycles. Theme packs for Vikings and Ancient Egypt are sketched out, waiting.
Ancient Future
We used cutting-edge technology to solve a problem as old as civilization itself.
In doing so, we didn't just build a calendar. We built a bridge—between digital and natural, between ancient wisdom and modern innovation, between the stories we inherit and the ones we're still writing.
The moon has been tracking time longer than we have. Now, we can track it back.