Inspiration

Astrology is a profoundly complex system that goes far beyond generic sun-sign horoscopes. Traditional Vedic astrology involves intricate calculations—birth charts (Kundli), planetary periods (Dasha), divisional charts (Vargas), and astrocartography. Interpreting this data requires synthesizing thousands of unique data points.

We were inspired by the potential of Agentic AI to act as a personalized, expert astrologer. Instead of static, pre-written reports, we wanted to create an interactive system where a user could ask anything—from "When will my career take off?" to "Is it a good idea to move to London?"—and receive a highly personalized, accurate reading. Astro AI is our vision of bridging ancient astrological wisdom with modern multi-agent AI orchestration.

What it does

Astro AI is an interactive, multi-agent Vedic astrology application. Users start by onboarding with their birth details (date, time, and location). Astro AI instantly fetches their complete astrological profile and builds a personalized Knowledge Graph.

From there, users can engage in a natural language chat to ask questions about their life. Depending on the question, Astro AI dynamically routes the query to specialized AI experts:

  • A Transit Expert for questions about timing and planetary periods.
  • An Astrocartography Expert for questions about relocation and travel.
  • A General Astrology Expert for personality, career, and yogas.
  • A Daily Horoscope Expert for personalized daily predictions.

The system synthesizes a highly accurate, honest, and direct reading based purely on the user's unique planetary placements.

How we built it

Astro AI is powered by the Google Agent Development Kit (ADK) and the Gemini model family.

  1. Data Ingestion & Knowledge Graph: We use an external provider to fetch comprehensive Vedic astrology data. Instead of dumping raw JSON into a prompt, our KGBuilderAgent constructs a structured Knowledge Graph (KG) using NetworkX. This graph maps out planets, houses, signs, and complex relationships like transits and Dasha periods. We then index these triples into ChromaDB using Gemini embeddings for semantic search.

  2. Hierarchical Multi-Agent Team: We built a specialized team of LLM agents using Google ADK:

    • Astrology Router: Analyzes user intent and delegates to the domain experts.
    • Expert Agents: Specifically prompted agents (Transit, Astrocartography, General, Daily) equipped with tools to query the Knowledge Graph.
  3. Validation & Quality Assurance: The output from the experts is passed to a Validator Agent. This agent double-checks the astrological facts against the knowledge graph, ensures no raw data leaks, and enforces a direct, no-nonsense tone.

  4. Tech Stack:

    • AI Orchestration: Google ADK (Agent Development Kit), Gemini (gemini-3.7-flash)
    • Backend: Python, FastAPI, SQLite (for event logging and persistent triples)
    • Data Processing: NetworkX (for building knowledge graphs), ChromaDB
    • Frontend: React, Vite

Challenges we ran into

  • Hallucination in complex domains: Astrology has strict rules. If an LLM hallucinates a planetary placement, the entire reading is wrong. We solved this by using the Knowledge Graph Tool pattern. Agents aren't allowed to guess; they must call search_knowledge_graph and base their analysis strictly on the retrieved subgraph.
  • Agent Handoffs and Latency: Running a Router $\rightarrow$ Expert $\rightarrow$ Validator sequence increases latency. We optimized this by strictly defining agent scopes and ensuring the router only calls the necessary experts rather than the entire team.
  • Complex Data Representation: Translating planetary positions involves understanding systems like Ayanamsa, where the sidereal position $\lambda_{sidereal}$ is calculated as: $$ \lambda_{sidereal} = \lambda_{tropical} - \Delta_{ayanamsa} $$ Ensuring the LLM understood the difference between a D9 (Navamsa) divisional chart and the D1 root chart required very explicit prompting and structured tool inputs.

Accomplishments that we're proud of

  • Bridging Deterministic Rules with Non-Deterministic AI: We successfully took a highly rigid, math-based system (Vedic astrology) and integrated it into an LLM framework without losing accuracy. By forcing the LLM to query a Knowledge Graph rather than relying on its internal weights, we achieved a near-zero hallucination rate for chart readings.
  • The Validator Pattern: Implementing a final Validator Agent that acts as a quality assurance check on the other agents. It effectively prevents the AI from "sugar-coating" bad astrological placements, resulting in a much more authentic and trustworthy user experience.

What we learned

  • The power of Multi-Agent architectures: We learned how to use Google ADK to cleanly separate concerns. Having a dedicated Router and Validator significantly increased the quality and reliability of the final responses compared to a single monolithic prompt.
  • Knowledge Graphs + LLMs: We discovered that representing complex, highly interconnected data (like astrology) as a Knowledge Graph and exposing it to agents via tools is far more effective than standard vector-based RAG.

What's next for Astro AI

  • Interactive Frontend Visualizations: We plan to expand the React frontend to display interactive visual representations of the Knowledge Graph and the user's birth charts alongside the chat.
  • Voice Interaction: Integrating speech-to-text and text-to-speech to make Astro AI feel like a real-time consultation with a human astrologer.
  • Expanded Chart Support: Adding deeper support for more obscure divisional charts (like D24 for education) and integrating specialized APIs for Muhurta (electional astrology).
  • Commercial Launch: We plan to launch Astro AI publicly as a dedicated web platform and an Android application, offering nationwide access to users via a subscription model.

Built With

  • artificial-intelligence
  • chromadb
  • fastapi
  • google-adk
  • google-gemini
  • javascript
  • knowledge-graph
  • llm
  • multi-agent
  • networkx
  • python
  • react
  • sqlite
  • uvicorn
  • vite
Share this project:

Updates

Submission history