Two thousand years of shastra, one transparent stack.
MyPanditji is not a language model with a horoscope wrapper. It is a deterministic Vedic compute engine, an 87-text retrieval corpus, and a routed multi-agent reasoner — each layer doing the job it is best at, each one auditable.
Three layers, clearly separated
The maths is deterministic. The retrieval is auditable. Only the natural-language reasoning is statistical — and even there it is grounded in cited primary sources.
Compute layer
Swiss Ephemeris (NASA JPL DE440), Lahiri ayanamsa. Pure maths. Same answer every time, accurate to milli-arcseconds across a 30-millennium window.
Knowledge layer
87 classical texts, ~64,000 retrievable chunks indexed with Postgres full-text + pgvector hybrid search. Every retrieved chunk carries a (book, chapter, verse) tuple.
Reasoning layer
Claude models (Haiku 4.5 triage, Sonnet 4.6 normal, Opus 4.7 council) orchestrated as specialist agents. The reasoner cannot invent a citation — it can only quote what was retrieved.
The compute layer
Every chart starts with planetary positions. We compute them live from a NASA-grade source — not from cached tables, not from a sun-sign approximation.
Swiss Ephemeris. We use pyswisseph bound to the Swiss Ephemeris compressed JPL DE440 dataset. Position errors are below 0.001 arc-seconds for the inner planets and below 0.01 arc-seconds for the outer ones, across the date range −13201 to +17191. The same engine powers professional Jyotish software like Parashara’s Light and Jagannatha Hora.
Lahiri ayanamsa. The sidereal zodiac used by classical Vedic astrology is fixed against the constellations, not against the seasons. Earth’s axis precesses at roughly 50.3″ per year, which means the tropical and sidereal zodiacs drift apart by ~1° every 72 years. The Lahiri (Chitrapaksha) ayanamsa, adopted by the Indian Government in 1955, gives the current offset — about 24°10′ in 2026. We use Lahiri by default and expose Raman, KP and Krishnamurti as opt-ins.
Place + time precision. Birth time is normalised to UT with the historically- correct timezone (the tz database resolves DST and pre-1947 Indian Standard Time variants). Latitude and longitude come from a curated city table, not from a free-text geocoder — so the same place name always produces the same coordinates.
What we compute, per chart
- • 9 grahas (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu)
- • 12 bhavas in three house systems (Whole sign, Equal, Sripati)
- • 16 vargas (D1, D2, D3, D4, D7, D9, D10, D12, D16, D20, D24, D27, D30, D40, D45, D60)
- • Vimshottari, Yogini, Ashtottari dasha ladders to the second
- • 27 nakshatras + 108 padas + sub-lord (KP)
- • Shadbala, Bhava bala, Ashtaka varga, Drishti matrix
- • Panchang elements — tithi, vara, nakshatra, yoga, karana — for the day of birth
The knowledge layer
The reasoner does not hallucinate sources because it does not choose its sources. The corpus does that, with hybrid keyword + vector search.
Mars in the 10th is a digbala-strong placement — the karma-karaka anchored in the karma-bhava.
The 87 texts, by category
- Parashari core (5): Brihat Parashara Hora Sastra, Brihat Jataka, Saravali, Phaladeepika, Hora Sara
- Jaimini school (3): Jaimini Sutras, Upadesa Sutras, Vriddha Karikas
- Predictive specials (6): Sarvartha Chintamani, Uttara Kalamrita, Jataka Parijata, Jataka Tattva, Mansagari, Bhavartha Ratnakar
- Muhurta + Vastu (4): Muhurta Chintamani, Muhurta Martand, Mayamatam, Manasara
- Siddhanta (3): Surya Siddhanta, Aryabhatiya, Siddhanta Shiromani
- Dharmashastra + darshana (10): Manusmriti, Bhagavad Gita, Upanishads, Yoga Sutras…
- Stotras, Chalisas, Devotional (40): Ramcharitmanas, Lalita Sahasranama, Vishnu Sahasranama, Hanuman Chalisa…
- Regional + modern commentary (16): KP system, Lal Kitab, Nadi, Tamil, Bengali, Marathi schools
Retrieval, step by step
- 1. Chunk. Each text is segmented at the verse / sutra level and annotated with (book, chapter, verse). ~64,000 chunks total.
- 2. Embed. Every chunk gets a 1536-dimension embedding stored in Postgres via pgvector, alongside a tsvector for full- text search.
- 3. Hybrid query. Your question is rewritten into a Sanskrit-aware query, then matched against both indices in parallel and reciprocal-rank fused.
- 4. Top-k cite. Normal mode injects the top 8–12 chunks into the reasoner’s context with hard instructions to quote only from them.
- 5. Verify. The output is post-checked: every citation must round- trip to a chunk that was actually retrieved, or it is stripped.
The reasoning layer
We route every request to the smallest model that can do the job well. This keeps replies fast and answers cheap, so the free tier can stay genuinely useful.
Four modes you can pick from
Same chat interface. Different depth, different speed, different cost. You choose.
Normal
Claude Sonnet 4.6
When to use
Daily questions, single-topic readings, follow-ups
Single specialist agent + RAG retrieval over the relevant 8–12 chunks of the corpus. Average latency ~3.5s. Cited reply.
Deep Research
Claude Opus 4.7
When to use
Long-arc questions — career trajectory, multi-year dasha analysis
Iterative retrieval across 40–80 chunks, three rounds of self-critique, cross-text reconciliation. ~25s. Returns a structured brief with sectioned sources.
Max Council
7 × Sonnet → 1 × Opus
When to use
Big life decisions — marriage, surgery, business launch
Seven specialist agents (Jyotish, Nadi, Jaimini, KP, Lal Kitab, Vedic Numerology, Vastu) write independent briefs in parallel. Opus 4.7 reconciles, weights, and writes the council verdict.
Check Your Pandit
Claude Opus 4.7
When to use
You got a reading elsewhere and want a sanity check
Paste a third-party reading. The agent extracts every claim, checks each against the live chart + classical texts, and returns a green / amber / red verdict per claim with the textual basis.
The specialist agents
Each specialist has its own retrieval scope, its own system prompt, and its own tools. The Vastu agent does not get the tarot deck. The tarot agent cannot pull from BPHS.
Why answers stay fast — and free where they can
Long static prefixes (system prompt + corpus snippets) are wrapped in Anthropic’s cache_control: ephemeral blocks, so repeated invocations reuse the prefill and only pay for the per-turn delta. In practice this is roughly 90% cheaper and 40-60% faster than a fresh prompt for the same query. Free-tier traffic costs us a fraction of a cent per reply — which is the only reason a generous free tier is possible.
What we do with your data
Nothing you would not authorise. Concretely:
Encryption at rest
Birth date, time and place are encrypted in Supabase Postgres with row-level security enforced on every read.
Zero advertising
We serve no third-party ads and run no advertising trackers. There is no incentive to share your data.
One-click export + delete
Settings → Privacy & Data lets you download everything we hold about you, or destroy it. Cascades through every linked table.
GDPR + DPDP compliant
We meet EU GDPR and India’s Digital Personal Data Protection Act (DPDP, 2023) by design — including the right to erasure and data minimisation.
What MyPanditji is not
- Not a sun-sign generator. Daily messages are computed against your moon sign + current dasha + transits, not your sun sign.
- Not a black box. Every reply carries citations. You can click the chip and read the source verse yourself.
- Not a substitute for medical, legal or financial advice. Astrology is interpretive — it informs decisions, it does not replace professionals.
- Not training data for anyone else. Your chats are not used to train our models or any third-party model.
See it on your own chart
Generate your Kundli, then ask Panditji anything — every reply cites the texts it used.
