Our Approach — A Note for the Serious Student
withAshoka is built for the English-speaking Indian diaspora — readers culturally familiar with the tradition but learning Jyotish itself. The main surfaces of the site teach as they go: every Sanskrit term gets a first-occurrence English gloss, the chart explains what it means, and the curriculum starts from "what is a Kundli?" This page is the exception. It is written for the practitioner or serious student who wants to verify that the engine beneath the teaching is real.
For Those Who Know Their Shadbala from Their Shashtiamsha
withAshoka is a Vedic companion — Jyotish is one of the traditions it draws on, alongside the Panchang, the Hindu calendar, and more. Ashoka himself is a guide and companion, not a credentialed Jyotishi, and we do not present him as one. What we do claim is that the calculations beneath him are rigorous and classically grounded — and this page is where we show our working.
If you have studied Jyotish seriously — if you have used Jagannatha Hora, read Brihat Parashara Hora Shastra, or sat with a practising Jyotishi — you will have questions about withAshoka that a casual user would not think to ask. This page is written for you.
We welcome scrutiny. The questions below are the ones a knowledgeable student or practitioner would rightly ask. We have tried to answer them honestly, including where we fall short.
On Calculation
Which ephemeris do you use?
The Swiss Ephemeris — the same engine used by Jagannatha Hora, Kala, and Parashara's Light. It is the most accurate planetary ephemeris available for astrological use, derived from NASA's DE431 dataset. We use the Python binding pyswisseph directly, not a wrapper or approximation.
Which ayanamsa?
Lahiri (Chitrapaksha), the most widely used ayanamsa in contemporary Jyotish and the official ayanamsa of the Government of India. We apply it manually after calculating tropical positions to ensure precision. We are aware that other ayanamsas (Raman, Krishnamurti, True Chitrapaksha) exist and produce different results. Lahiri is our current default. We plan to support user-selectable ayanamsa in a future version.
How is the Lagna calculated?
We use the standard GMST (Greenwich Mean Sidereal Time) formula per the IAU 1982 standard, converting to ARMC (Apparent Right Medium Coeli) and then to the Ascendant degree using the standard obliquity calculation. We do not use pyswisseph's built-in house functions for the Lagna — we documented a global sidereal state issue in certain pyswisseph versions that affected Lagna accuracy, and our custom implementation avoids this. We check the result against the sky itself: the point of the ecliptic on the eastern horizon at the moment of birth. For births far from Greenwich our Lagna can differ from Drik Panchang's by up to about half a degree, because Drik appears to scale longitude in a way the astronomy does not; we keep the astronomical value. The full technical notes are in our engineering documentation.
Which house system?
Whole Sign Houses (Sampoorna Bhava), following the Parashara tradition. The Lagna degree determines the Lagna sign; that entire sign is the first house, the next sign is the second house, and so on. We do not currently expose Placidus, Koch, or other quadrant house systems to users. When the birth time is not known, the Sun's sign takes the Lagna's place (see On a Chart with No Birth Time below).
How accurate are the planetary positions?
To within arcseconds for dates between 1800 and 2400 CE, which covers all living users and several generations of ancestors. The Swiss Ephemeris accuracy for this period is better than 1 arcsecond for the inner planets and better than a few arcseconds for the outer planets. For Rahu and Ketu we use the mean node, which is standard in the Parashara tradition.
Do you calculate divisional charts?
Yes — the full set of classical divisional charts is calculated using the Parashara method as described in Brihat Parashara Hora Shastra:
| Chart | Division | Purpose |
|---|---|---|
| D9 Navamsa | 9th | Soul, marriage, dharma |
| D10 Dashamsa | 10th | Career and public life |
| D60 Shashtiamsha | 60th | Past life karma |
| D7 Saptamsha | 7th | Children and progeny |
| D12 Dwadashamsha | 12th | Parents and ancestry |
| D16 Shodashamsha | 16th | Vehicles and happiness |
| D20 Vimsamsha | 20th | Spiritual practice |
| D30 Trimshamsha | 30th | Misfortune and challenges |
For the D30 Trimshamsha we use the unequal division method from BPHS, not the simplified equal division used by some software.
The readings use the D9 and the D60, and read the D10 (career), D7 (children) and D12 (parents) through where the planets fall in them: a planet in its own or exalted sign, at its weakest, or in the same sign as in the birth chart. We never read those charts' own rising signs. They change every few minutes of birth time, and a birth time given to the hour cannot fix them. Display of the divisional charts themselves is being rolled out progressively.
Do you calculate Shadbala?
Yes. The full six-fold planetary strength system is calculated — all six components: Sthana Bala, Dig Bala, Kala Bala, Cheshta Bala, Naisargika Bala, and Drig Bala. Shadbala scores are available per planet and will be displayed progressively as chart depth features are rolled out.
Do you calculate Ashtakavarga?
Yes — Ashtakavarga and Sarvashtakavarga are calculated in full. We compute Bhinnashtakavarga per planet (bindus per sign) and the combined Sarvashtakavarga. The underlying Kakshya contributor table is used in the calculation; per-Kakshya output will be exposed as part of the advanced chart rollout.
Which Dasha system?
Vimshottari Dasha (120-year cycle) is our primary system, following the standard nakshatra-based calculation from BPHS. Antardasha and Pratyantardasha are both calculated. Yogini Dasha (36-year cycle) and Chara Dasha (Jaimini sign-based) are also calculated. Display of these secondary systems is being rolled out progressively.
On Interpretation
Your readings are AI-generated — how can they be accurate?
This is the right question to ask. We want to be transparent about what we are doing and what we are not doing.
What Ashoka does: Ashoka receives your complete birth chart — all nine grahas, their signs, houses, degrees, retrograde status, combust status, Shadbala scores, Yoga presence, your current Dasha lord, and your nakshatra. He generates a reading that speaks to the specific features of your chart — not a template filled with your sign.
A person with Mithuna Lagna and Ketu conjunct the Lagna in the first house gets a different reading from someone with Mithuna Lagna and no planets near the Lagna. Ashoka notices Ketu there and speaks to it. A debilitated planet whose debilitation is cancelled generates a different reading from one that simply remains debilitated.
What Ashoka does not do: Ashoka is not a practising Jyotishi with decades of experience. He does not replace a consultation with a skilled human practitioner. For important life decisions — marriage timing, career transitions, health concerns — we encourage you to seek a qualified Jyotishi. Ashoka is a starting point, not a substitute.
The honest position: We believe AI-generated readings, when grounded in accurate chart data and guided by classical principles, can be genuinely valuable for the vast majority of users who have never had a Jyotish reading and would benefit from an accessible, personalised introduction. We do not claim to replicate the depth of a skilled human practitioner.
Which tradition does Ashoka follow?
Primarily the Parashara tradition — Brihat Parashara Hora Shastra is our primary textual reference. Where BPHS is ambiguous or silent we note the variation and take a considered position. We are aware that the Jaimini tradition, the Krishnamurti Paddhati, and other systems offer different and sometimes contradictory approaches. We note these differences where they affect interpretation.
From the Jaimini tradition we use the Atmakaraka (soul planet), the Karakamsha and the Ishta Devata drawn from it, the Arudha Lagna (how the world sees you, as against who you are) and the Upapada (the marriage itself). When an Arudha count lands on the house itself or the 7th from it, we take the 10th from there: the most common convention, though schools differ.
How do you handle functional benefics and malefics?
We follow the BPHS classification per lagna — implemented in full for all 12 lagnas. Where a lagna has a Yogakaraka (the planet ruling both a kendra and a trikona; six of the twelve lagnas have one), it is identified and its position is given special weight in readings. Functional malefics are identified and their gemstone recommendations are handled with care — we do not recommend gems for functional malefics.
Do you detect Yogas?
Yes. We detect the major classical Yogas algorithmically from the chart data — Raj Yoga, Dhana Yoga, Pancha Mahapurusha (all five), Gajakesari, Viparita Raja, Neecha Bhanga Raja Yoga, and Kemadruma. Where a significant Yoga is present, Ashoka references it in the reading. We will expand the Yoga library over time.
How do you handle Neecha Bhanga?
We implement all four classical cancellation conditions from BPHS. A debilitated planet whose debilitation is cancelled by any of the four conditions is treated as a Neecha Bhanga Yoga and interpreted accordingly — the debilitation is noted but the cancellation and its effects are given due weight.
What about Rahu and Ketu?
We use the mean node for Rahu and Ketu, which is standard in the Parashara tradition. We are aware that some practitioners prefer the true node. We plan to offer a user setting for this in future.
For functional nature, Rahu and Ketu act as agents of the planet ruling the sign they occupy and of any planet they conjoin. They do not have an independent functional benefic or malefic classification.
How do you decide what to highlight first?
A full chart holds far more than anyone needs at once, so the hub does not list everything — it surfaces a ranked handful of the features a practitioner would name first. Each is detected deterministically from the chart data (Ashoka narrates them; he does not decide them): dignities, notable yogas, stelliums and close conjunctions, the yogakaraka, vargottama placements, and the Rahu–Ketu axis — each carrying a significance weight so the most telling features rise to the top.
We also weigh a karmic-intensity layer — how loaded a placement is beyond its sign and house:
- Gandanta — a graha within ~0.8° of a water→fire sign junction (the classical "knot" where one sign dissolves into the next).
- Telling nakshatras — the Ketu-ruled and gandanta-junction lunar mansions, tied to the past and to release.
- Peak strength or strain — a graha within ~2° of its exact exaltation or debilitation degree.
- The houses of release — the 8th and 12th.
When such a charge falls on a sensitive point — the Moon, the Lagna, the Atmakaraka (soul significator), or a node — we note that the chart carries unusual karmic weight, and say so plainly. As everywhere, this is read for meaning, disposition and counsel — never dated prediction. The only timing Ashoka names is the Dasha chapters: the one you are in, with its years, the ones behind you by what they asked of you, and the next by what it will ask.
How do you find what a chart turns on?
A practitioner does not read a chart as a list of placements. They find where it converges and read every part of the life from there. We do the same, by rule rather than by the model's choice. Every house is scored by what gathers on it: where the lagna lord, the Atmakaraka, the Moon, the planet of the present Mahadasha and the yogakaraka sit, and which houses they look at (classical full aspects: every planet the 7th from itself, Mars also the 4th and 8th, Jupiter the 5th and 9th, Saturn the 3rd and 10th; Rahu and Ketu are left out, as their aspects are disputed); where the rulers of the main life areas sit; sign exchanges; and three or more planets together. Ashtakavarga house support never chooses the house; it only tells us whether what the life turns on comes easily or is hard-won.
The leading house is then checked two classical ways: counted again from the Moon (Chandra Lagna), and by following every planet's chain of sign rulers to where it ends. When the two strongest houses score almost alike, the reading joins them as one life. The facts that cut against it, such as the two least-supported houses, a weakened ruler or a planetary war, are listed with it, and every reading must give each of them its honest place. Every part of your reading, from the story to each house and chapter, is written from that one idea, so the parts tell the same life and do not contradict each other.
Your reading opens with one short passage that says it plainly: what your life is about, whether it comes easily or has to be earned, and who you are at the root, named by the god who presides over the star on your rising degree (Vishvakarma, the divine architect, for one chart; the ancestors, the Pitris, for another). The engine decides what it must say; the model only puts it into words, and checks send it back if it leaves the main point out, names a planet, or dresses a difficulty up as a gift. When several planets gather in that area, the passage says how many, in a sentence the engine writes from the count, so the number can never be enlarged. The story that follows does not repeat it; it begins with who you are day to day.
Your family has a paragraph of its own: your father read from the 9th house and the Sun, your mother from the 4th house and the Moon, as Parashara assigns them. Where your chart says nothing particular about one of them, the reading says nothing rather than fill the gap. Brothers and sisters are read from the 3rd and 11th houses, but a chart cannot tell us whether you have any, so the reading never says that you do. When a planet sits in one of those houses it speaks of your side of that bond, among those you grew up beside or those who went ahead of you, and otherwise it stays silent. Your work is read the same way. The 10th house is what a person does in the world and how they are regarded, whether that is a profession, a household kept, a family raised or service of another kind. A chart cannot tell us which, or what the work was, so your story never names a job or a field and never says how your money was earned; it speaks of how you work, how you are regarded, and how money comes and stays. The same holds for the rest of a life. A chart shows how each part of life goes for you, easily or slowly, lightly or with weight, and what it asks and gives; it does not show what has happened. So your story never says that you married, have children, travelled, were prosperous or were known, or what any year brought; it says what you look for in a partner, how you are with children and with what you make, how far-off places draw you, how money comes and stays. A chapter of years already over is named by its theme, never by its events. The story also keeps the chart's machinery out of the telling: planets other than the one ruling your present chapter, signs other than your rising sign and Moon sign, and house numbers are put into plain words. On the house cards, each house carries its classical Sanskrit name with what the name means (Sukha, the 4th, means ease and contentment); the English title under it is our own summary of what the house covers.
On the Shashtiamsha (D60)
The D60 deserves special mention because we take it seriously in a way that most apps do not.
We implement the full 60 Shashtiamsha divisions with their names and quality classifications from BPHS. We understand that the D60 is sensitive to birth time — each division spans only 0.5° of longitude, changing every 2 minutes of clock time. We communicate this clearly to users and check birth time accuracy before displaying D60 results.
We use the D60 to assess the karmic quality of each planet — not as an afterthought but as a meaningful layer of the reading for users who have accurate birth times. The Shashtiamsha name and quality of each planet is available in the chart and informs Ashoka's reading of that planet's deeper karmic nature. A chart with no birth time does not show the D60 at all.
On a Chart with No Birth Time
Many people do not know the hour they were born. Without it there is no Lagna: the rising sign changes about every two hours, so a date alone cannot fix it. We do not guess one, and we do not treat noon as the birth time.
Instead we read the chart from the Sun, a method the tradition already has. The sign the Sun was in becomes the first house (Surya Lagna), the other houses follow it in order, and the grahas stand where they were at noon. No rising sign is named or drawn, and the chart says that the time is not known.
Everything we say about such a chart follows one rule: it must be true at every hour of the day of birth. We work the chart out at each hour from 00:00 to 23:00, and at 23:59, local time. A fact that is the same at all of those moments is stated plainly. One that is not is given as both possibilities ("the Moon in Dhanu or Makara") or left out. This matters most for the Moon, which moves about 13° a day. It changes sign on about four days in ten, and it changes nakshatra, a span of only 13°20', on almost every day. The Ishta Devata, the Atmakaraka and any yoga are named only when they hold all day.
On about one birthday in thirty the Sun itself changed sign. We still read the chart, counting the houses from the Sun's sign at noon, and we say plainly that the houses may be one sign out and that a birth time would settle it.
Four chapters need the hour, and they wait for it: Your Lagna; The Karmic Layer (D60), which changes every two minutes of birth time; Dashas, whose dates follow the Moon's exact degree at birth; and Your Gemstone, which is chosen from the Lagna. They stay in the chapter list, marked as needing a birth time, with a note on where a time can often be found. The rest of the site works from the Sun's sign under the same rule. In Kundli Matching, when a Moon's nakshatra changed during the day of birth, the Guna Milan score is shown both ways ("22 or 25 / 36") rather than as one number. On the Panchang, Chandrabala and Taarabala appear only when the day settles the Moon's sign or nakshatra.
On the Sky Guide
We calculate planet positions in the sky (altitude and azimuth) using
the Swiss Ephemeris swe.azalt() function from the user's current GPS
location — because the sky guide shows what is visible from where the
user stands tonight, not where they were born.
We connect tonight's sky to the user's natal chart — noting when the user's lagna lord or Dasha lord is visible, which natal houses the transiting planets are activating, which nakshatra each visible planet currently occupies, and whether any planet is at or near its highest point in the sky (culmination). We note this as especially significant, as classical texts consider a planet at its highest altitude to be particularly powerful.
This personalised sky-to-chart connection does not exist in any other consumer Jyotish application. We built it because we believe the sky above is not abstract — it is a living map of the forces acting on this specific person's chart right now.
On the Panchang
We calculate all five Panchang elements in real time from the user's
location — Tithi, Vara, Nakshatra, Yoga, Karana — and we surface a great
deal more on the dedicated Panchang page (/panchang). We do not use
pre-published almanac tables. Everything is generated from first principles
using the Swiss Ephemeris, which means our Panchang is accurate for any
location on Earth, not just for a fixed city.
The home page shows a novice-friendly summary — the five elements with
plain-English glosses, an Ashoka-voice opener, and a deterministic
"favours / avoid" guidance line. The full /panchang page (signed-in users)
adds:
- Sunrise, sunset, moonrise, moonset, and solar noon for the day
- The three traditional inauspicious time windows — Rahu Kaal, Yamaganda, Gulika — derived by dividing the daylight span into eight equal segments and selecting the weekday-indexed segment per the BPHS table
- The auspicious Abhijit Muhurta — a 24-minute window centred on solar noon
- The full Choghadiya sequence — eight day periods (sunrise → sunset) and eight night periods (sunset → next sunrise), each labelled by name, planetary lord, and quality (auspicious / neutral / inauspicious)
- Intra-day transitions of all five elements — when today's Tithi gives way to the next, when the Moon enters the next Nakshatra, and so on, computed by sidereal-longitude bisection to ~1-second precision
- Detection of named yogas active during the day: Sarvartha Siddhi and Amrita Siddhi (auspicious, by Vara × Nakshatra combinations), Vyatipata and Vaidhriti (the inauspicious Panchang yogas), Bhadra (when the karana is Vishti), Panchaka (the Moon traversing Dhanishta through Revati), and Rikta Tithi (the 4th, 9th, and 14th of either fortnight)
For a signed-in user with a birth time on file, the page opens with a short personal reading rather than the generic summary. It weighs today's sky against the user's natal Moon on two classical measures — Taarabala (Star Strength: where today's Nakshatra falls in the nine-fold cycle counted from the birth star) and Chandrabala (Moon Strength: the house the transiting Moon occupies counted from the natal Moon sign) — and renders a deterministic paragraph and chips naming both. Beneath it sits a timing bar, an honest four-band timeline across the civil day (favourable / neutral / caution / avoid). With a birth time on file the bar is weighed to your chart: the day is divided into the 24 planetary Horas (planetary hours), and each is scored under a tiered rule — the unmissable shared windows rule outright (Abhijit favourable; Rahu Kaal, Yamaganda, Gulika and Vishti/Bhadra best avoided), then Chandrabala sets the hour's underlying lean, and the hora's ruling planet (friendly or difficult for your ascendant) together with the shared Choghadiya and Taarabala nudge it up or down a band. With no birth time on file the bar falls back to the impersonal reading: the day's shared muhurtas — Choghadiya quality together with the Rahu Kaal / Yamaganda / Gulika windows, Abhijit dispelling an overlapping inauspicious window — into one band per moment, so it renders for everyone. Either way we never guess a birth Moon. For a chart with no birth time, Chandrabala is used only when the Moon stayed in one sign for the whole day of birth, and Taarabala only when it stayed in one nakshatra, which is rare. Whatever the day does not settle is left out, with a line saying why.
Above all this, the personal block opens with a single daily verdict — one line saying how the day leans for you overall (favourable, open, mixed, or one to go gently), with a plain-language reason naming why. The verdict weighs the whole day, sunrise to sunrise, on classical measures: the Moon's house from your birth Moon (Chandrabala, with the 8th — Chandrashtama — the heaviest), the day's taara from your birth star (Taarabala), the transit Moon meeting Jupiter, Mars, Saturn, Rahu or Ketu, the Moon passing over your birth Jupiter or Venus, and, with a birth time, the Sarvashtakavarga points of the Moon's sign. When the Moon changes sign or star during the day, the verdict follows the stretch that covers most of your waking hours. Three kinds of day are named as special: a Chandrashtama day; "the stars align", your own best day of each season (ritu, two lunar months), so it comes about six times a year for everyone, whatever their chart; and "a bright day", the best day of each other lunar month when these measures line up in your favour. Both are measured against your own days, not a fixed score: a fixed score gave some charts none in a year and others dozens. On the Today page each opens with a short message built from the same computed reasons. The hours that favour you come from the timing bar below. One scoring service drives this verdict, the "Days ahead" outlook and the Today page, so they can never disagree; the weights are our own, and like everything else here it is computed with no AI.
A signed-in user with a birth time can also look ahead: a "Days ahead" tab weighs each of the coming days (a week at a glance, expandable to a month) against the same chart and marks each favourable, open, mixed, or cautious — a forward outlook for choosing a good day, not only reading today. Each day is scored the same way as today's verdict, computed from first principles for each day, and every day taps through to its full personal Panchang. We never pre-publish a "lucky days" table.
Festivals and vrats are not on the Panchang page — they live on a separate
Vedic calendar page (/calendar), since they are a different concern: the
Panchang names the quality of a day, the Calendar names the occasions
of a day.
Hora (the 24 planetary hours) is not surfaced as a standalone table — it remains a specialist layer most novices and even serious students don't consult hour by hour. It does, however, work quietly inside the personalised timing bar above, where each hora's ruling planet helps score the hour against your chart rather than being listed on its own.
On Today's Reading
The Today page (/today, its own page beside Your Chart; the personal day is
for signed-in verified users, and signed-out visitors see a public introduction
with an example figure and the planet–chakra pairing) reads the present sky against the user's natal chart, drawn as a
seated figure with seven centres from root to crown and the planets touching
them today. We calculate the live sidereal positions of all nine grahas using
the same Lahiri ayanamsa as the natal chart. Each day's page is saved, so a
reader can revisit earlier days from the history drawer or by date
(/today/<date>).
Which planets appear is classical Jyotish, computed. The Moon always appears. So do the lords of the running Mahadasha and Antardasha ("this season" and "this chapter" of your life). Up to three more appear as pressing now: a planet presses when it is hard for you counted from your birth Moon (gochar) and is weak or turning there — debilitated, within a few days of stationing (turning direction), or retrograde. "Hard" is read as a traditional reader reads it: a hard house, unless vedha (another planet on its obstruction point, from Phaladeepika) relieves it or the planet has five or more of its own Ashtakavarga points in that sign; or a good house that vedha blocks or where the planet has three or fewer points of its own. Saturn always counts during Sade Sati or when it is 4th or 8th from your birth Moon. The planet that rules the weekday shows faintly. Each planet's place counted from your rising sign, and where Saturn, Jupiter, Mars or Rahu looks at your birth Moon or rising sign, are given to the writer as qualifiers; they never change which planets appear.
A planet that presses for a long time becomes a long season. Saturn in Sade Sati can press for years, and the same card every day teaches nothing. Once a planet has pressed for the same reason for more than two weeks, it keeps its place above the figure but its card becomes one steady line, written once: what the season is, how far through it you are, and the next day it changes. Its full card returns only on the days the season is felt more: when the Moon joins it or sits opposite it, when it turns direction, and when it changes star. Tapping the line opens the season's own page, with the changes ahead. It still counts in your day's colour every day.
The lunar day, made yours. The day's tithi (the lunar day at sunrise) is the same for everyone and stays on the Panchang. Today adds three things from it that are yours alone. Each lunar month the tithi you were born on comes round again; once a year it comes round in the lunar month of your birth, which is your tithi birthday, the date many families keep. Both are shown as days for blessings, not as lucky days. And each full and new moon is named with the house of your chart it falls in. These appear in Coming up two weeks ahead, with a reminder. They are fixed words from computed facts: nothing here is written by the model, and none of it enters the day's colour. The birth tithi needs a birth time.
Where each planet lands is a modern bridge, and we say so on the page. Each planet is paired with a centre: Saturn the root, Jupiter the sacral, Mars the solar plexus, Venus the heart, Mercury the throat, the Moon the brow, the Sun the crown; Rahu the brow, Ketu the crown. The Moon's centre is personal: it lights the centre of a birth planet it is passing over, otherwise one it faces from directly opposite, otherwise the planet that rules the sign it is in. This pairing of yoga's centres with the grahas is not in the classical texts, and neither is the rainbow colouring of the centres; we use both because they make the day easy to see.
The page opens on an Overview of the day — the same day verdict as the
Panchang, how the day may feel, the touched centres, one practice, special
days coming up, and the facts behind it — then walks the seven centres. A
"How do you feel?" check-in names what in today's sky might explain a
feeling, from a fixed set of computed rules. The written text (in Ashoka's
voice) is generated by claude-sonnet-4-6 from these computed facts only:
it is told every date and time it may name, and is not allowed to invent
others. The page is regenerated when the Moon moves to a new centre or the
day turns, and otherwise served from the saved copy.
Two days are marked from your birth reading. When the Moon is in the sign your birth reading's story turns on, or a planet shown above the figure has entered it in the past week, the Overview says so in one sentence. When the Moon passes the birth sign of the planet whose period you are in, it says that what this chapter asks is closest today. Neither changes the day's verdict.
Among the turning points, Jupiter and Saturn acting together on your 1st, 7th or 10th house (self, partnership, career), by sitting in it or looking at it, are marked as a meeting with its dates: the classical double transit, when what that house promises is delivered. It needs a birth time.
Panchang or Today's Reading — when versus why
Both of these pages speak to "today," and it is worth saying plainly how they differ, because they answer different questions.
The Panchang is the day's own clock. It reads the Moon and the Sun against the day — the tithi, nakshatra, yoga, karana and vara, the auspicious and inauspicious windows, the planetary hours — and, once your birth time is on file, weighs those hours against your chart. It answers when: when in the day to begin something, which hours to favour, which to let pass. It is deterministic, and it changes hour by hour.
Today's Reading is your chart's clock. It shows which planets are touching you now — the Moon for a couple of days, your Dasha lords for months or years, the pressing planets for weeks — and what that means for you. It answers why: why a day or a season feels the way it does, what is being asked of you, where the weight is.
Put simply: the Panchang tells you when to act; Today's Reading tells you what is moving, and why. Both share one day verdict, so they never disagree about the day itself.
Today's Reading also marks the days a chapter of years turns: a new
Mahadasha or Antardasha (only with a birth time, since those dates follow
the Moon's exact degree at birth), Sade Sati beginning, deepening or ending,
and Saturn, Jupiter or Rahu returning to the sign it held at your birth.
These are computed, never guessed; a planet's slip back across a sign line
while retrograde is not counted again. Each shows for a few days around the
turn (longer for longer chapters, up to two weeks), and the Dasha page
keeps the list of chapters running now and still to come. What each turn
means for you is written in Ashoka's voice by Claude (claude-sonnet-4-6)
from those computed facts, once, and kept.
On the Calendar
The Vedic calendar (/calendar) is a month-by-month almanac of the days
the Hindu calendar marks as significant — the lunar fortnightly observances
(every Ekadashi, Pradosh, Purnima, Amavasya), the twelve annual sankrantis
as Surya moves between sidereal signs, and the named festivals that
recur on specific (Hindu lunar month, paksha, tithi) combinations.
Event dates are computed from first principles with pyswisseph using the
same Lahiri ayanamsa and .se1 ephemeris files as everything else on the
site. Festival rules live in a curated YAML — about a hundred and thirty
entries spanning the major all-India festivals, the twenty-four named
Ekadashis, the regional new-year cluster (Vishu, Vaisakhi, Bohag Bihu,
Pohela Boishakh, the four-day Pongal arc, the ten-day Onam arc), and the
sectarian content (Sikh Gurpurabs, the eight-day Paryushan, Buddha
Purnima, and sect-distinctive observances of Swaminarayan, Gaudiya
Vaishnava, Tamil Shaiva, and Bengali Shakta traditions).
Most festivals map a (Hindu lunar month, paksha, tithi) triple to a name —
Holi is always Phalguna Shukla Purnima, Diwali always Ashwin Krishna
Amavasya; the Gregorian dates fall out of the maths. For festivals
anchored differently the scanner has four rule shapes:
- Tithi-based (the default) — anchored to a Hindu lunar month + paksha + tithi
- Weekday-in-month — every Monday in Shravana is a Shravan Somvar Shiva vrat
- Solar-anchored — Vishu, Vaisakhi, Bohag Bihu, Pohela Boishakh and the four Pongal days fire relative to the sun's entry into a sidereal sign rather than a lunar tithi
- Nakshatra-in-solar-month — the ten Onam days name the moon's nakshatra inside the solar Malayalam month Chingam; Karthigai Deepam similarly anchors to the moon in Krittika inside solar Karthikai
Significant celestial events. Beyond festivals and the lunar/solar
markers, the calendar surfaces the sky's own turning points: eclipses
(Surya and Chandra Grahan) and significant transits — gochar (the slow
grahas Guru, Shani, Rahu and Ketu changing sidereal sign, plus any graha
entering its exaltation, debilitation, or own sign). Eclipses are found with
pyswisseph's eclipse search; for each we record the type (total / annular /
partial), the Delhi-reference magnitude and visibility, the node (Rahu/Ketu)
on the eclipse axis, and the traditional Sutak window — twelve hours
before a solar eclipse, nine before a lunar — that suspends auspicious
activity where the eclipse is visible. Transits are detected as day-over-day
sign changes, with the graha's dignity in its new sign carried alongside
(an exalted Guru entering Karka, say). We teach the classical view of
eclipses — the Sutak pause, the turn inward to japa and charity — calmly and
without alarm. Comets and other Saṃhita (omen) phenomena are out of scope:
they belong to mundane omen-astrology, not the nine-graha predictive
tradition the rest of the site works in.
The lunar month is named Amanta-style — months run Amavasya → Amavasya, with the bright fortnight (Shukla / Sud) first and the dark fortnight (Krishna / Vad) ending at Amavasya. The month is named for the sun's sidereal sign at the Purnima inside that span (sun in Karka → Shravana, sun in Simha → Bhadrapada, etc.). We also detect Adhik Maas — the intercalary lunar month that recurs every ~32 months when a lunar cycle contains no Sankranti (sun stays in one sidereal sign across the whole lunar month) — so festivals don't fire on the "extra" month and the year stays in step with reality. Adhik Maas, when present, shares its name with the following Nij (regular) month (e.g. Adhik Jyeshtha precedes Nij Jyeshtha).
Multi-day festivals. Sharad Navaratri (nine nights), Pitru Paksha (fifteen tithis), Ganesh Utsav (eleven days), Diwali Week (five days), Pongal (four days), Onam (ten days), Paryushan (eight days) and Chaitra Navaratri (nine nights) are modelled as spans — a festival-level entity rather than a flat list of disconnected days. Each span has its own AI-generated overview prose ("about the festival") that appears as a second tab in any member day's popup, alongside the day-specific content. Spans bind visually in the grid as a thin colour-coded strip along the bottom of each member cell, so a user can see at a glance which days belong together.
Tradition and region. Every event carries a tradition tag (Hindu, Sikh, Jain, Buddhist) and a region tag (all-India, Tamil, Malayalam, Punjabi, Bengali, Marathi, Gujarati, Assamese, Odia, Kannada, Telugu). A settings-page tree lets users hide categories they don't observe; a shorter set of tradition pills near the bottom of the calendar offers quick toggle. Where two traditions observe distinct festivals on the same date — Ram Navami and Swaminarayan Jayanti both on Chaitra Shukla 9, Diwali night being simultaneously Lakshmi Puja for most Hindus, Bandi Chhor Divas for Sikhs, Mahavir Nirvana for Jains, and Kali Puja for Bengalis — we emit each as its own event with its own teaching, rather than collapsing them into a single composite. The calendar grid shows a small number of days a year with three or more events on them; this is the per-tradition principle made visible.
On sects. The tradition tag is religion-level (Hindu/Sikh/Jain/ Buddhist). Within Hinduism, distinctive sect observances — Swaminarayan sampradaya, ISKCON / Gaudiya Vaishnava, Tamil Shaiva, Bengali Shakta — get their own event rows rather than a separate "sect" schema field. This is a deliberate v1 choice: it captures the user-facing experience ("my festival is on the calendar") without introducing a new filterable dimension we'd then have to maintain.
The literary content for each event — Ashoka's reflection, the story
behind the day, and the technical jyotish breakdown — is generated once
by claude-sonnet-4-6 against the deterministic facts and frozen alongside
the model name in the database.
The calendar grid and the upcoming-event banner are visible to everyone — the grid renders the month as a chess-board with a vibrant accent colour per event type (Purnima moon-blue, Pradosh mars-red, Ekadashi jupiter- green, Sankranti mercury-teal, Amavasya rahu-indigo, festivals gold). The per-day detail — Ashoka's reflection, the story, and the jyotish panel, plus the "about the festival" tab when the day belongs to a multi-day span — opens for verified members; unverified visitors see a strip above the grid pointing them to sign-in or email verification. When the verified user has a primary birth chart on file with a birth time, the detail panel adds a deterministic per-user footer — e.g. "this Purnima falls across your 5th house — children, creativity, and what you've been making" — computed from where the relevant transit graha lands in the user's whole-sign houses counted from natal Lagna. No Claude call.
A search affordance fuzzy-matches festival names, alternate names (so "Pongal" finds Makar Sankranti, "Vesak" finds Buddha Purnima, "Saraswati Puja" finds Vasant Panchami) and span names ("Navaratri" lands on the nine-night span as a single card rather than nine separate hits).
A nightly Railway cron extends the forward edge of the window by one month at a time so the calendar always sits about twelve months ahead of today.
On the Teaching Pages
Alongside the calendar we publish a set of open, evergreen teaching
pages — a festival library (/festivals) and a glossary (/learn).
Each festival page gives a festival's dates across several years, the
lunar (or solar) logic that moves them, and a plain-English account of
its meaning and observance; the glossary explains the terms a newcomer
meets — the five limbs of the Panchang, how two charts are matched
(Guna Milan and Mangal Dosha), the nine grahas, and the twenty-seven
nakshatras. The festival dates are drawn from the same
calculated calendar described above. For Diwali and Dhanteras we also
calculate the evening puja time for sixteen cities where the diaspora
lives, from each city's own sunset, because the right window in London
or Toronto is not the right window in Delhi, and occasionally not even
the same date.
These pages are deliberately descriptive and freely available: they teach, and gemstone or remedy material on them is presented as tradition rather than prescription. They are distinct from the personalised, chart-specific reading, which stays gated.
On the Gita Reader
The Gita Reader (/gita) carries all 700 verses of the Bhagavad Gita —
the Devanagari text, an IAST transliteration, and an English translation.
The translation is Swami Sivananda's, taken from the openly licensed
vedicscriptures dataset (GPL-3.0); we did not translate the text ourselves
and we do not alter it.
Each verse also carries a short reflection in Ashoka's voice. We want to be
plain about what that is: the reflections were generated once, in advance,
by Claude (claude-sonnet-4-6), reviewed into our voice guidelines, and
stored — they are commentary in the spirit of a study companion, not the
words of a guru or a traditional bhashya (classical commentary). The verse
text itself is never AI-generated. When you read a verse, no AI call is
made; everything on the page is served from our database.
Verses are tagged with themes (duty, grief, courage, equanimity, and so on) from a fixed vocabulary, which powers the reader's search — you can find a verse by its reference, by its words, or by what you are carrying that day.
On Kundli Matching
Kundli Matching (/match) reads two saved charts side by side — for a
couple considering marriage, and just as much for a married couple, two
friends, or a parent and child. We do not treat it as a verdict. The page
leads with everyday dimensions (temperament, mental rapport, emotional
rhythm, how two people support each other, give and take), each drawn from
one of the eight kootas of the traditional Ashtakoot Guna Milan, and says
plainly where two people flow and where they will need care, with counsel
for each. The familiar score out of 36 is shown only for marriage, as a
secondary "by tradition" box.
The eight kootas are scored exactly as Drik Panchang scores them, and we check that against its own results for a set of fictional couples. Classical matching has more than one set of tables; we chose one well-known standard, and we name it.
Four choices are ours and we want to name them:
- Where tradition scores by who is the bride, we take the higher score. Varna, Gana and a few Yoni pairings are read from bride to groom. Our charts do not record gender, and couples are not all a bride and a groom, so we work each out both ways round and keep the higher score. Our /36 can therefore be a point or two higher than a printout that assumes a direction.
- Mangal Dosha is graded, not a yes/no. We look for Mars in the 1st, 2nd, 4th, 7th, 8th or 12th house counted from the ascendant, the Moon and Venus — the widely used North Indian approach — and call it mild or strong by how many of the three it appears from. It is cancelled when Mars is in its own or exalted sign, and balances between two people who both carry it.
- "Your chapters now" is our own convention. For couples we set each person's current Mahadasha side by side and judge how they sit together by the natural friendship of the two planets. This is not a classical matching rule; it is a reading aid, and we say so here.
- A couple's reading opens with what each brings. Each birth chart has one area of life it converges on, the same one your own birth reading is built around. For a couple, the reading opens by saying what each person is here for and what each brings to the bond because of it. Where the two charts meet on those areas (the planet that stands for one person sitting in the sign of the other's area, or both areas falling in one sign) it says how each stands in the other's life. These meetings are plain comparisons between the two charts. They are our addition: they are not part of traditional Guna Milan and never change the score, and where the charts do not meet, nothing is said. This opening needs a birth time for both people, and is written for couples only.
Beyond the Moon, the page also reads the two whole charts against each other: where each person's Moon lands in the other's houses, what each looks for in the 7th house, how Venus and Mars in one chart meet the other's Moon and ascendant, and the strength of the 7th lord and Venus in each Navamsa. For couples we also name sexual compatibility plainly, as the tradition does: the Yoni koota together with Venus in one chart meeting Mars in the other. That discussion is frank but never graphic, and it never appears for friends or family, where no reading may touch on attraction or intimacy. These comparisons are real Jyotish factors, but the way we weigh them into "flows", "steady" or "needs care" is our own, and we say so on the technical page.
The facts are calculated; the words about them — a longer story of the two
people, and for each part a short story with one thing to try —
are written by Claude
(claude-sonnet-4-6) in Ashoka's voice for each pair, checked, and stored.
Two withAshoka users can also match with each other, each with their own chart, through an invite shown as a QR code or sent as a link. The other person must accept before anything is read. You both see the same reading; it shows some of each chart's placements, but never your birth date, time or place, and either of you can remove it for both at any time.
On Sharing a Reading
A verified reader can share their own story, and a Kundli Match, as image cards — the kind that go on WhatsApp or Instagram — and can copy or download the full reading as plain text. We want to be clear about what a card carries and what it does not.
The first card is a portrait: first name, rising sign, Moon sign and birth star, the Ishta Devata, the present Mahadasha with its years, the Sun's sign, and the one-line summary that opens the reading. The other cards each carry one sentence from the story, quoted exactly as the reading has it — we do not write new lines for cards — with the placement behind it named in plain English and shown on a small chart with that one house lit. A card of the full birth chart is offered too, but it is unticked until the reader chooses it, because it shows every placement. No card ever carries a birth date, time or place. For a match, the cards name both people, so the reader must confirm the other person is happy with that before anything is sent, and the score out of 36 never appears on a card.
Cards are made on our server only when the reader asks for them and go straight to the reader's own share sheet or downloads. We keep no public page for them and store no copy anywhere public. A reader who shares a card is publishing it themselves, on their own account, to the people they choose.
On Ishta Devata
We derive the Ishta Devata following the classical method — identifying the Atmakaraka (planet with the highest degree among the seven classical planets), placing it in the Navamsa (D9) to find the Karakamsha, and identifying the deity associated with the lord of the 12th house from the Karakamsha.
We follow the BPHS-aligned deity mapping for each ruling planet. Where multiple deities are associated with a single planet we note the primary deity and the variants. The Ishta Devata is not a trivial addition — it is the bridge between Jyotish and devotional practice, and we give it the reverence it deserves in Ashoka's presentation.
What We Are Not
We want to be clear about our current limitations:
-
We are not a replacement for professional Jyotish consultation. For significant life decisions, please consult a qualified practitioner.
-
We calculate Vimshottari, Yogini, and Chara Dasha. Display of Yogini and Chara Dasha is being rolled out progressively.
-
We do not support Prasna (horary). This is a distinct discipline requiring a separate approach and is not currently planned.
-
We do not support Tajika (annual chart) or other Persian-derived techniques at this time.
-
Our Yoga detection is comprehensive but not exhaustive. There are hundreds of named Yogas in classical texts — we implement the most significant and will expand over time.
-
Kundli Matching covers the main factors, not all of them. It reads the eight kootas, Mangal Dosha, the Moon overlay, the 7th house, Venus, Mars and the Navamsa. It flags Nadi and Bhakoot dosha without applying their traditional exceptions, and does not weigh Jupiter or the remaining houses as a practitioner would.
-
We do not estimate an unknown birth time. There is no rectification. A chart without a time is read from the Sun's sign, and the four chapters that need the hour wait for it. When the rising sign sits within about 1.5° of the next one, a few minutes of birth time, the reading says so.
-
We do not use the age states of planets (baladi avastha), which judge a planet by its degree alone and would call most soul planets "dead", and we leave out the death-giving houses (maraka, badhaka) by choice.
-
We use Lahiri ayanamsa only at present. Other ayanamsas are planned.
-
We use the mean node for Rahu and Ketu. True node support is planned.
-
Our calendar verification against external sources is partial. Our scanner produces dates from first-principles ephemeris computation; a ~30-festival ground-truth set cross-checks against DrikPanchang for the core all-India observances. The newer sect-specific and regional additions (Onam, Pongal sub-days, Swaminarayan/ISKCON/Tamil Shaiva events) are not yet in that comparison set. A periodic auto-diff against DrikPanchang + per-event year-on-year sanity checks in the nightly cron are tracked as a hardening item.
-
Within-Hindu sect coverage is layered. The four-religion tradition tag (Hindu / Sikh / Jain / Buddhist) is the only filterable dimension; sect-distinctive observances (Swaminarayan, ISKCON, Tamil Shaiva, Bengali Shakta) emit as their own event rows but are all tagged
tradition: hindu. A sect-level filter is not currently planned — most diaspora users observe across sect lines and the region tag already captures the linguistic-community signal. Tier 2 sects (Lingayat, Sri Vaishnava, Pushtimarg, Sant traditions, Bengali Durga Puja arc) are not currently on the calendar.
Our Reference
The primary classical text guiding our implementation is Brihat Parashara Hora Shastra (BPHS). Where we deviate from BPHS we note it. Where BPHS is ambiguous we note the ambiguity rather than presenting one position as certain.
We welcome corrections, challenges, and dialogue from knowledgeable practitioners. If you find a calculation error or a significant interpretive omission, please write to us. We take this seriously.
A Final Note
Jyotish is a vast and living tradition. No software fully captures it. The greatest Jyotishis we know of use calculation tools as a starting point, not an ending point — they bring decades of study, intuition, and human sensitivity to the chart that no calculation engine can provide.
We are building withAshoka as the best possible accessible entry point into Jyotish — technically rigorous, grounded in classical sources, and honest about what it is and is not. We hope serious students will find it a worthy companion to deeper study, and that it will send many more people toward that deeper study.
— The withAshoka team
withashoka.com