Triple Moon Goddess

Dev Blog

Astrology infrastructure, Python, and AI-augmented engineering.

Numbers You Can Look At, Numbers You Can Defend

A while back I wrote about the back office that lives in one folder — the ledger, the skills, the “do my books” that reconciles a month in about ten minutes. This week I added the two things that folder...

Read post
The Privacy Gate Is a Claude Gate

My platform has one privacy rule that sits above all the others: client names never enter the system. Not in a database, not in a form, not in a PDF. Every client is an access code, and the page that...

Read post
The Back Office in One Folder: Reliable Enough to Trust, Safe Enough to Back Up

Running a one-person business means you are also its bookkeeper, its operations department, and its IT team. Nobody hands you a back office — you either build one or you drown in the parts of the work that aren’t the...

Read post
Encryption Protects, Detection Notices: Building a Breach Tripwire

We’d just finished encrypting the sensitive data at rest — the emails and birth details people trust us with — behind a managed key. A stolen backup or a leaked database dump is now unreadable to whoever holds it; without...

Read post
The Push That Looked Like a Deploy: Escaping an HTTP 409 Storm

I pushed a batch of admin-portal work to production — a new vertical admin menu, and a birth form that now collects consent for session recording — watched the deploy go green, and moved on. Days later the changes were...

Read post
It Works in Dev: Chasing a Permissions Drift Between Environments

Practitioner sign-in worked perfectly in my dev environment and threw a blank 500 INTERNAL in production. Same code, same deploy, two different outcomes. That gap — works here, breaks there — almost always means the difference isn’t in the code....

Read post
A Regression Test That Becomes a Stranger Every Time It Runs

Most of my automated tests check the path I’ve already walked. They sign in as a returning user — someone who already has a saved chart, whose email the system recognises, who sails past the front door because they’ve been...

Read post
Login Status on Every Session: When the Right Tool Is the One You Weren't Reaching For

I build and run this platform with Claude from the terminal, and that means I live behind a wall of authenticated CLIs — gh for GitHub, firebase for deploys, gcloud for our KMS encryption, bw for Bitwarden. Nothing wrecks momentum...

Read post
Sessions That Journal Themselves: Logging Claude Code and Claude Desktop Into Obsidian

I build and run this platform with Claude — coding in Claude Code in the terminal, and doing longer planning and writing work in the Claude Desktop app. The trouble with working this way is that an enormous amount of...

Read post
Many Claudes, One Codebase: Keeping Parallel AI Sessions From Clobbering Each Other

I build this platform with Claude — and often with several Claude sessions open at once, each on a different job. One’s fixing an email bug, another’s adding a new reading product, a third’s chasing a deploy. It’s like running...

Read post
Claude Can't Paint: Building a 20-Character Art Pipeline with Two AIs

I run this whole platform on Claude. It writes the readings, reasons about charts, and pair-programs the infrastructure with me. So when I decided my image-based readings needed actual art — a cast of planet-characters you could see — my...

Read post
The Technical Reasons Claude Avoids Work (It's Not What You Think)

If you’ve worked with Claude long enough, you’ve noticed the pattern: asked to do something multi-step, it hedges, asks a clarifying question, or announces what it’s about to do instead of just doing it. It feels evasive. It can feel...

Read post
IPA Integrative Pattern Astrology

INTEGRATIVE PATTERN ASTROLOGY

Read post
Hello World

First post. Building astrology infrastructure with Swiss Ephemeris, Python, and AI-augmented engineering.

Read post
FCM Web Push Notifications for PWAs — The Guide Nobody Wrote

I didn’t write the code that fixed this. Claude did. But I spent 8 hours in the problem — reading error messages, describing what was broken, testing fixes, hitting the next wall. AI-augmented doesn’t mean painless. It means the suffering...

Read post