Skip to content
Under the hood

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.

1

Compute layer

Swiss Ephemeris (NASA JPL DE440), Lahiri ayanamsa. Pure maths. Same answer every time, accurate to milli-arcseconds across a 30-millennium window.

2

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.

3

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.

0° Tropical0° Sidereal🜨Lahiri ayanamsa 2026 ≈ 24.17°Precession of the equinoxes — ~50.3″ per year
Swiss Ephemeris · DE440 · Lahiri● LIVE
SuryaVrishabha5.4200°
ChandraKanya2.9130°
MangalaMithuna28.0460°
GuruMakara1.1890°
ShaniKumbha18.6720°

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.

“Why is my Mars in the 10th house?”
BPHS 7.32 — Mars in 10th
Saravali 25.4 — Karma karaka
Phaladeepika 8.12 — Yogakaraka rules
Jaimini Sutras 1.2 — Chara karakas
Hora Sara 12.7 — Bhava bala

Mars in the 10th is a digbala-strong placement — the karma-karaka anchored in the karma-bhava.

BPHS 7.32, Saravali 25.4

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. 1. Chunk. Each text is segmented at the verse / sutra level and annotated with (book, chapter, verse). ~64,000 chunks total.
  2. 2. Embed. Every chunk gets a 1536-dimension embedding stored in Postgres via pgvector, alongside a tsvector for full- text search.
  3. 3. Hybrid query. Your question is rewritten into a Sanskrit-aware query, then matched against both indices in parallel and reciprocal-rank fused.
  4. 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. 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.

Haiku 4.5
1× cost
Sonnet 4.6
4× cost
Opus 4.7
15× cost
Haiku 4.5: Triage + intent classification
Sonnet 4.6: Normal mode + per-feature specialists
Opus 4.7: Deep Research, Max Council, Check-Your-Pandit verdict
?ROUTERHaiku 4.5KundliHoroscopeVastuMatchTarotNumeroYour questionCited reply

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.

AgentCorpus scopeTools
Kundli AgentBPHS · Saravali · Phaladeepika · Hora SaraBirth chart fetch, varga computation, dasha ladder
Horoscope AgentBrihat Jataka · Phaladeepika · Sarvartha ChintamaniDaily transits, moon-sign + dasha overlay
Vastu AgentMayamatam (260 chunks) · Manasara · Vishwakarma PrakashaRoom directional analysis, dosha + mitigation lookup
Match AgentBPHS Striveda · Muhurta Chintamani · Jataka ParijataAshta-koota guna milan, Mangal dosha, multi-chart compare
Tarot AgentRider–Waite tradition + reversed-card semanticsThree-card / Celtic-cross / Horseshoe spreads
Numerology AgentPythagorean + Chaldean systemsLife path, expression, name-number compatibility

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.