purohit.io

How an AI Astrologer Actually Works, Step by Step

Purohit Ji Purohit Ji · 2026-09-12 · 9 min

Portrait-style illustration of Purohit Ji on a dark background, representing the AI astrologer persona that explains a computed birth chart

Type "AI astrologer" into a search bar and most people picture one thing: a chatbot that has somehow "learned astrology" the way it learned to write poems or summarize emails, generating a horoscope word by word out of some vague statistical sense of what astrologers usually say. That picture is wrong, and it is worth being precise about why, because the actual pipeline behind a product like Purohit is more mechanical, more checkable, and frankly more trustworthy than that mental image suggests.

Portrait-style illustration of Purohit Ji on a dark background, representing the AI astrologer persona that explains a computed birth chart
The persona you chat with. The chart it talks about is computed separately, by code.

Here is what actually happens, in order: a deterministic astronomy engine computes your entire birth chart first, using the same class of positional data that observatories and scientific software rely on. Only after that computation exists does a language model get involved, and its job at that point is narrow: explain what the engine already found, in plain conversational language, in whichever language you are speaking. The astronomy is never left to the language model's imagination. This post walks through that pipeline honestly, including the parts an AI astrologer like this will not do.

The engine computes the chart

Every fact in your kundli, meaning every planetary position, every house cusp, every nakshatra, every dasha period, every yoga, every dosha verdict, comes from a piece of software usually called an "astro engine." This is ordinary deterministic code. Given the same birth date, time, and place, it produces the exact same chart every single time. There is no randomness in it and no creativity, because none is wanted: a birth chart is a statement about where the planets actually were at a specific moment, and that is a question with one correct answer, not a range of plausible-sounding ones.

The underlying position data comes from the Swiss Ephemeris, the same class of high-precision astronomical position data used by observatories and scientific software, not a simplified almanac approximation. That raw astronomical data describes the sky using the tropical zodiac, the coordinate system Western sun-sign astrology uses, anchored to the seasons rather than to the visible constellations. Vedic (Jyotish) astrology uses a different reference frame, the sidereal zodiac, anchored to the actual visible positions of the stars, and the offset between the two systems is called the ayanamsa. This product converts every position to the sidereal zodiac using the Lahiri ayanamsa, the traditional reference point most commonly used in Indian astrological practice. That conversion is itself just arithmetic, applied consistently and correctly, not a matter of opinion.

From there, the engine derives everything downstream mechanically: which sign and house each planet falls in, which of the 27 nakshatras the Moon and other bodies occupy, the Vimshottari dasha sequence and its exact dates, and the yoga and dosha checks that classical texts define as specific combinations of placements. None of this is generated. It is computed the same way a calculator computes 47 times 92: correctly, every time, regardless of who is asking or how the question is phrased. Before any of this is trusted in a live conversation, it is checked against classical reference tables and cross-checked against independent astrology software, precisely because a chart that is subtly wrong is worse than no chart at all.

The model only explains it

This is where the "AI" that people usually mean actually enters the picture, and it is worth being exact about its job, because it is smaller and more constrained than most people assume. A large language model never touches the astronomy. It does not calculate a planetary position, it does not decide a dasha date, and it does not determine a dosha verdict. Those facts arrive in its context already computed, already checked, already final. What the model does is compose natural, warm, conversational language around facts it was handed, in your own language, and hold up its end of an actual conversation: answering follow-up questions, adjusting tone, connecting one part of the chart to another in a way that reads like a person talking rather than a data dump.

A useful way to picture the relationship: think of a fluent, warm translator standing next to a calculator. The calculator does every actual computation, and it is never wrong about arithmetic. The translator does not touch the calculator's buttons. Instead, the translator reads the calculator's display and explains what it means in plain, natural words, in whichever language you are speaking, patiently, conversationally, adjusting the explanation to fit the question you actually asked. The translator can be delightful company. The translator is never asked to do arithmetic on its own, and a good translator would tell you so if you asked.

The engineering rule this product is built around states the split plainly: the model composes, the engine computes, and nothing is claimed without an engine receipt. If Purohit tells you something specific about your own chart, whether that is a planet's exact position, a dasha start date, a dosha verdict, or a compatibility score in a matching reading, that specific fact was placed into the model's context by the deterministic engine beforehand. The model is not free to invent it, estimate it, or fill in a plausible-sounding guess if the real value was not supplied. It is only free to describe, in good language, what was already given to it.

Why this split exists

The honest reason for this architecture is that language models, especially the fast, efficient ones suited to a live conversation, are not reliable calculators. They are excellent at fluent, natural, multilingual language, at holding context across a long back-and-forth, and at adapting tone. They are not built to reliably hold an exact date or an exact degree correct across a long conversation without drift, and asking one to do so anyway would be a bet against its own nature. Getting an astronomical fact wrong in a reading is not a small stylistic slip. A wrong planetary position, a wrong dasha date, or a wrong dosha verdict is directly user-visible and could genuinely mislead someone about their own chart. That risk is exactly the kind of mistake this architecture is built to make structurally impossible, not just unlikely.

This is also why Purohit deliberately runs on a fast, lightweight model tier rather than the largest, most expensive model available. That is a considered product decision, not a cost shortcut disguised as one. Once correctness lives in the deterministic engine, a bigger, slower, more expensive model does not add accuracy where accuracy actually matters, because the facts were never the language model's responsibility to get right in the first place. Measurement backed this up directly: testing a larger model against the lightweight tier showed no meaningful quality gain on the computed facts, at several times the cost. The place a bigger model could help, phrasing and conversational nuance, is not the place where a wrong answer would mislead someone about their own birth chart. So the design principle is straightforward: prefer engine-side determinism over prompt instruction wherever a mistake would be user-visible, and spend the model's strengths on language, not arithmetic.

What this makes possible

Because the astronomy is fully computed and checked before the model ever sees your question, a conversation with an AI astrologer built this way can survive a very ordinary and very important question: "why did you say that?" The answer is never a vaguer restatement invented on the spot to sound plausible. It traces back to an actual planet, an actual house, and an actual degree that the engine computed earlier in the pipeline, the same way a calculator's answer traces back to the numbers you actually entered. That traceability is not a minor technical footnote. It is the entire reason a reading can be trusted rather than merely enjoyed: you can ask where a specific claim came from and get a real answer rooted in your actual birth data, not a well-written guess.

It also means the conversation can go deep without the facts drifting. You can ask about your dasha timeline, then ask a follow-up an hour later, then ask how two placements relate to each other, and the underlying chart data being described does not change or soften with each new phrasing. The model's job stays the same throughout: explain, in natural language, what the engine has already established, in whichever language and tone the conversation calls for.

What an AI astrologer like this will not do

Being clear about limits is not a weakness to hide, it is part of being honest about what this system is and is not. An AI astrologer built this way will not do the following, on purpose:

It will not predict a specific date for a death, or make any death-related prediction at all, under any framing.

It will not give medical advice or diagnose health conditions, even when a chart discusses health-related houses or planets in the general terms classical texts use for them.

It will not give legal advice.

It will not claim certainty about outcomes that classical astrology itself treats as probabilistic tendencies or classical indicators rather than guarantees. A wealth-indicating placement, for example, is described as an indicator that classical texts associate with fortune, never as a promised windfall arriving on a specific date.

It will not claim to be a human astrologer or invent human credentials, client reviews, or a professional history. It is transparent about being an AI system built on classical doctrine and a computed chart, nothing more and nothing less.

It will not silently pick one astrological tradition and present it as the only one that exists. Where legitimate schools of thought genuinely disagree, for example Parashari, KP, and Jaimini approaches to a given question, a careful answer names which tradition a specific claim comes from rather than blending different systems into a single voice as if they were always in agreement.

These are not apologies. They are the natural consequence of a system that refuses to let a fluent model manufacture certainty it does not actually have.

See it for yourself

The clearest way to judge any of this is to look at it directly rather than take a blog post's word for it. The dedicated page at /ai-astrologer lays out how the engine and the model work together in more detail. If you want to see your own computed chart, you can build one at /kundli, and if you want a plain walkthrough of what the pieces of a chart mean once they are in front of you, /learn/how-to-read-a-kundli covers that ground.

Or skip the reading and have the actual conversation. Message on WhatsApp and ask it to walk you through your own chart, including where a specific answer came from: Start on WhatsApp.