Why Jade exists
The good software was written in the 1990s.
If you practise Jyotiṣa seriously, you already know the trade. The programs with real classical depth — the ones that compute ṣoḍaśavarga properly, that know what a śodhya piṇḍa is, that will give you a bhinnāṣṭakavarga you can actually defend — were written decades ago. They run in a window that has not moved since Windows 98. Several require a dongle. One of them still ships on a CD.
And everything built since is a horoscope app. Beautiful, fast, works on a phone, and wrong in ways that matter: no Rāhu and Ketu, or nodes computed as an afterthought; divisional charts that are just the rāśi redrawn with new labels; an ayanāṁśa nobody will name. They are not built for you. They are built for someone who wants to be told they are a Scorpio.
So the choice a working astrologer has is between software that is correct and hostile, or software that is pleasant and cannot be trusted. That is a strange thing to have accepted for twenty-five years.
Jade started because someone close to this project is learning Jyotiṣa properly — reading the texts, casting charts by hand first and checking them after — and there was nowhere decent to keep the work. Notes in one app. Charts in another. A spreadsheet of birth times. Every study session began with fifteen minutes of assembling context that should have been sitting there already.
The first version was a single HTML file. It got the ascendant right and the nodes wrong, which is a good summary of why this is harder than it looks. Rebuilding it properly meant deciding, early, that the calculations would be verified against something other than our own confidence — and that decision is the whole project.
Every technique in Jade is checked against an implementation written by somebody else. That check has repaid the effort many times over. Four of the sixty-four aṣṭakavarga benefic rows were wrong on the first pass, and three of them cancelled out so cleanly that the totals still summed correctly — no test we could have written ourselves would have caught them. Four of the eight aṣṭakūṭa tables were wrong before all 11,664 pairings were enumerated. A transit scanner once returned a perfectly plausible list of Saturn ingress dates that were every one of them about two years out.
It has also gone the other way. The reference implementation’s default dig bala returns values above the 60-virūpa ceiling on a third of our sample. Its tārā kūṭa never awards full marks where the classical rule does. Verification is not deference — where the reference disagrees with the text, Jade keeps the text and records why.
The name is the stone: green, hard, and prized for a durability you cannot see by looking. Which is roughly the ambition — that the part you never inspect is the part that holds.