01Why it exists
Two moons, overlaid
A compatibility reading built from the one thing two birthdays share with the sky: the phase of the moon. Each date's lunar age is placed on the 29.53-day synodic month, both moons are drawn and laid over each other, and the distance between them becomes the score.
02Parts list
- Overlaid phasesEach moon drawn on its own canvas from its illumination fraction, terminator curve and all, then stacked so the difference is visible at a glance.
- Per-date readoutPhase name, moon age in days, illumination, and the new moon that came before.
- Cycle chartThe full illumination curve from new to full to new, both dates plotted on it, with a bracket measuring the gap.
- The readingWritten for the pair of phases you land on: twins, neighbours, complements or opposites.
- Date pickerTwo dates, optional names, a swap button, and a copy-link button that saves the pair in the URL. Phase ages come from the mean synodic month anchored to a known new moon, so they are within about a day.
03Instruments
04Construction
Built on
Vanilla JS and the canvas API — no charting library, no astrology API. Lunar ages come from the synodic cycle, with the footer citing NASA RP 1349.
05Tolerances
The astronomy is real — phase ages on the synodic cycle, illumination from the moon's age. The compatibility is poetry, and it says so by being beautiful rather than by pretending to be a test. It was made for one particular pair, whose dates are still the default. Now it takes any two dates, and the link remembers them.
what it is not, said plainly
06Inscription
Two growing lights, less than a day apart.
07The same room
- TetherA one-finger rope-swinging game, open to everyone: real rope physics over lava through ten biomes with their own weather and soundtracks
- ThoughtformA first-person shooter set inside a mind under siege, built from nothing but maths: a hand-written raymarched world, live-synthesized sound and no engines, models, textures or samples
- Watch Your GrassArena defense on a 6×6 lawn: ten plant and terrain types, six kinds of visitor, drawn up on paper before a line of code and now playable in the browser.
- SketchesSmall builds, made in an afternoon and kept as sketches
- SidewaysA drifting game Claude made for Anders where the soundtrack is played by how you drive: get sideways and an arpeggio comes in, hold it and the bass and lead follow, every orb is a note on the beat
- Root CauseAn on-call detective game Claude made for Anders, unprompted: the pager goes off, the logs are full of red herrings, and you run real checks to find the first domino
MENTIFABER