Methodology
Every astrological choice we make, in plain English
Astrology is a craft of choices. Two practitioners working from the same birth data can produce different charts because they pick different reference frames, house systems, or ephemerides. We disclose every choice MayaAstro makes so you can decide whether our numbers match what you trust.
Reference frame
Vedic features use the sidereal zodiac with the Lahiri (Chitrapaksha) ayanamsa — the government-of-India standard adopted by most Indian almanacs (panchangs). Western features use the tropical zodiac measured from the moving vernal equinox. We never mix the two within a single feature.
House system
We use Whole Sign houses— the system used in classical Jyotish and in pre-Renaissance Western astrology. Each sign is one house; the rising sign is the first house. We chose Whole Sign because it's the system embedded in the texts most of our calculators draw from (Brihat Parashara Hora Shastra for dasha and yogas, classical compatibility texts for Ashtakoot Guna Milan). Other systems (Placidus, Koch, Equal, Porphyry) are valid choices for different traditions; we don't support them yet.
Ephemeris
All planetary positions come from a pure-TypeScript implementation of Jean Meeus' algorithms (Astronomical Algorithms, 2nd ed.) plus VSOP87 truncated terms for the Sun and Moon, and Keplerian orbital elements for the outer planets. We do notuse Swiss Ephemeris, JPL DE files, or any third-party astrology API. The tradeoff: our positions are accurate to within ~1 arc-minute for dates 1900–2100, which is well below the resolution at which any of our features actually matter (signs are 30°, nakshatras are 13°20', tithis are 12°). We rebuild deterministically — same input, same output, every run.
Time and timezone
All birth-data inputs are interpreted as local time at the birthplace. We convert to UTC using the longitude-based offset (lng/15 hours) — this is accurate to within 30 minutes for places near a standard meridian, and is the convention used by most Indian panchangs. For higher precision (e.g., to honor historical DST rules), enter the time you actually saw on the clock and we'll be within a degree.
The home page panchang uses your viewer location (Vercel geolocation header, or the location you set via the "Change" button on the Panchang card). Sunrise/sunset and the inauspicious periods (Rahu Kalam, Yamagandam, Gulika Kalam) are rendered in the local timezone of thatlocation, not your browser's.
Tithi, yoga, nakshatra
Tithi is computed from the sidereal Sun-Moon angular separation in 12° increments (30 tithis per lunar month, split into Shukla and Krishna paksha). Yogais the sidereal Sun+Moon longitude in 13°20' increments (27 yogas). Nakshatrais the sidereal Moon longitude in 13°20' increments (27 lunar mansions), with pada being the further subdivision into 4ths (108 padas total).
Sade Sati & Vimshottari Dasha
Sade Sati is detected by Saturn's sidereal sign relative to your natal Moon's sign — the classical 12th/1st/2nd-from-Moon test. Vimshottari Dasha follows the standard 120-year cycle (Ketu 7 + Venus 20 + Sun 6 + Moon 10 + Mars 7 + Rahu 18 + Jupiter 16 + Saturn 19 + Mercury 17), with the starting period's remaining duration calculated from your natal Moon's position within its nakshatra. Antardasha (sub-period) chains use the same proportional model.
Ashtakoot Guna Milan
All 8 koots (Varna, Vashya, Tara, Yoni, Maitri, Gana, Bhakuta, Nadi) follow the tables in Brihat Parashara Hora Shastra. Maximum is 36; auspicious threshold is 18. We surface two classical veto flags: Nadi dosha (same nadi for both partners — score 0 even if other koots are high) and Bhakuta dosha(specific moon-sign-distance afflictions: 6/8 and 5/9). We don't suppress a match on these; we surface them so you can read the result with full context.
AI interpretation
Every numerical result on this site is computed deterministically in TypeScript on our server. The AI layer (Claude Haiku 4.5 by Anthropic) is asked only to interpret those results in plain language — it never produces a number that feeds back into a calculation. If you read an interpretation that contradicts the numerical fields, trust the numbers. Every AI response has a static fallback that ships when the AI is unavailable.
Schools we acknowledge but don't implement
Jyotish has multiple coherent schools, each with its own choices. We don't currently implement these — but we acknowledge them so you know what we're NOT claiming:
- Krishnamurti Paddhati (KP): a cusp-based Western-Vedic hybrid that uses sub-lords for prediction. Different ayanamsa (Krishnamurti, ~6 arc-min from Lahiri).
- Raman ayanamsa:B.V. Raman's anchor differs from Lahiri by ~1°. We don't toggle ayanamsas; we use Lahiri exclusively.
- Placidus, Koch, Equal, Porphyry houses: widely used in Western astrology for chart interpretation; we use Whole Sign across both traditions.
- Lagna chart vs Moon chart vs Navamsa primary readings: classical Jyotish reads the natal chart from at least three vantage points. We compute the Lagna chart; Navamsa support is partial.
- Jaimini astrology: uses Chara dasha, karakas, and pada-based prediction. We implement Vimshottari only.
- Vakhya panchang school: traditional Tamil method based on tabulated mean motions. We use the Drik (computational /observational) school — same as DrikPanchang.com and most modern panchangs.
If your tradition uses one of these and our numbers don't match yours, that's the most likely reason. The methodology choice is not a quality judgment — it's a choice.
What we don't do
- Predict your death, divorce, or financial ruin.
- Combine sidereal and tropical positions in a single chart.
- Use a paid ephemeris that locks readings behind a subscription.
- Store your birth data after the request returns.
- Sell, share, or analyze your chart for advertising.
Have a question about a specific calculation? The full source for every algorithm lives at github.com/ranganc007/mayaastro. See also About.