I spend a lot of time around astrology apps — not because I'm a true believer, but because the engineering behind them is almost always terrible. You type your birth data into a web form, a black box churns somewhere, and out comes a chart you can't reproduce, can't audit, and can't trust came from the same math twice. Change one server-side library and your "destiny" silently shifts. That bothered me more than any horoscope ever could.
So I built life-chart-engine: an offline, AGPL-3.0 CLI that takes one birth record and computes three independent systems in a single pass — Western natal (Tropical zodiac, Placidus houses, via Swiss Ephemeris), 人類圖 Human Design (type, authority, profile, definition, incarnation cross, all 64 gates), and 紫微斗數 Zi Wei Dou Shu (12 palaces, star brightness, 四化 transformations, five-elements bureau, via py-iztro).
The astrology is the domain. The story is determinism.
The reproducibility problem
A birth chart is, mechanically, just a coordinate transform: given an instant in time and a point on Earth, where were the planets? That's solved astronomy. Swiss Ephemeris — the same DE431-derived ephemeris professional software uses — gives you sub-arcsecond planetary positions. There is a correct answer, and it doesn't depend on which startup's API you hit.







