ą“Ŗą“ą“²ąµą“ ą“°ą“¾ą“¤ąµą“°ą“æą“Æąµą“ Ernakulam Ā· UTC+5:30
ą“Ŗą“ąµą“ą“¾ą“ą“ą“ąµą“ąµ¾ ą“ ą“ąµą“ąµ ą“ ą“ą“ą“ąµą“ąµ¾
ą“°ą“¾ą“¶ą“æ ą“ą“æą“¹ąµą“Øą“ąµą“ąµ¾
ą“®ąµą“¹ąµąµ¼ą“¤ąµą“¤ą“ąµą“ąµ¾ ą“¶ąµą“-ą“ ą“¶ąµą“ ą“øą“®ą“Æą“ąµą“ąµ¾
ą“ąµą“°ą“¹ą“ąµą“ąµ¾ ą“ąµą“°ą“¹ą“øąµą“„ą“¾ą“Øą“ąµą“ąµ¾ Ā· ą“Øą“æą“°ą“Æą“Ø
ą“ą“Øąµą“Øą“¤ąµą“¤ąµ ą“µą“æą“¶ąµą“· ą“Æąµą“ą“ąµą“ąµ¾ ą“¶ąµą“ ą“Æąµą“ą“øą“ą“Æąµą“ą“ąµą“ąµ¾
ą“²ą“ąµą“Ø ą“ą“ąµą“°ą“ ą“ą“¤ąµą“¤ą“°ąµą“Øąµą“¤ąµą“Æąµ» Ā· ą“”ą“Æą“®ą“£ąµą“ąµ ą“¶ąµą“²ą“æ
ą“ąµą“°ą“¹ą“øąµą“„ą“¾ą“Øą“ąµą“ąµ¾ ą“Øą“æą“°ą“Æą“Ø Ā· ą“²ą“¾ą“¹ą“æą“°ą“æ ą“ ą“Æą“Øą“¾ą“ą“¶ą“
| ą“ąµą“°ą“¹ą“ | ą“°ą“¾ą“¶ą“æ | ą“”ą“æą“ąµą“°ą“æ | ą“ ą“µą“øąµą“„ | |
|---|---|---|---|---|
| ą“ąµą“°ą“¹ą“øąµą“„ą“¾ą“Øą“ąµą“ąµ¾ ą“²ąµą“”ąµ ą“ąµą“Æąµą“Æąµą“Øąµą“Øąµā¦ | ||||
ą“øą“ąµą“µ ą“Æąµą“ą“ąµą“ąµ¾
ą“ą“Ŗąµą“Ŗąµą““ą“¤ąµą“¤ąµ ą“ą“ą“æą“ą“Æąµą“ ą“µą“æą“Øą“¾ą““ą“æą“ą“Æąµą“ ą“ą“¦ą“Æą“ ą“®ąµą“¤ąµ½ ą“¤ą“¤ąµą“øą“®ą“Æą“
ą“µąµą“¦ą“æą“ ą“ą“²ą“£ąµą“ąµ¼ ą“Øą“æą“²ą“µą“æą“²ąµ ą“ą“ąµą“°ą“
| ą“øą“ą“µą“¤ąµą“øą“°ą“60-ą“µąµ¼ą“· ą“ą“ąµą“°ą“ | ā |
| ą“ ą“Æą“Øą“ą“øąµą“° ą“ ąµ¼ą“§ą“µąµ¼ą“·ą“ | ā |
| ą“ą“¤ąµą“ą“¾ą“²ą“ | ā |
| ą“®ą“¾ą“øą“ą“ą“¾ą“Øąµą“¦ąµą“°ą“®ą“¾ą“øą“ | ā |
| ą“Ŗą“ąµą“·ą“ą“Ŗą“ąµą“·ą“ | ā |
| ą“µą“æą“ąµą“°ą“® ą“øą“ą“µą“¤ąµą“¶ą“ą“ | 2083 |
| ą“¶ą“ ą“øą“ą“µą“¤ąµą“¶ą“ą“ | 1948 |
ą“ąµą“°ą“æą“ąµą“±ą“æą“Æąµ» ā ą“µąµą“¦ą“æą“ ą“Ŗą“°ą“æą“µąµ¼ą“¤ąµą“¤ą“Øą“ ą“¤ąµą“Æą“¤ą“æ ą“Ŗą“°ą“æą“µąµ¼ą“¤ąµą“¤ą“Øą“
ą“ą“¦ą“Æą“¾ą“§ą“æą“·ąµą“ ą“æą“¤ ą“ ą“®ą“¾ą“Øąµą“¤ ą“øą“®ąµą“Ŗąµą“°ą“¦ą“¾ą“Æą“®ą“¾ą“£ąµ ą“Ŗą“°ą“æą“µąµ¼ą“¤ąµą“¤ą“Øą“¤ąµą“¤ą“æą“Øąµ ą“ą“Ŗą“Æąµą“ą“æą“ąµą“ąµą“Øąµą“Øą“¤ąµ. ą“¤ą“æą“°ą“ąµą“ąµą“ąµą“¤ąµą“¤ ą“¤ąµą“Æą“¤ą“æą“Æą“æą“²ąµ ą“ą“¦ą“Æą“¤ąµą“¤ą“æą“²ąµ ą“¤ą“æą“„ą“æ.
ą“¤ą“æą“„ą“æ ą“Ŗąµą“°ąµą“ą“¤ą“æ ā
ą“øąµą“°ąµą“Æą“Øąµ ą“ ą“Ŗąµą“ąµą“·ą“æą“ąµą“ąµą“³ąµą“³ ą“ą“Øąµą“¦ąµą“°ą“Øąµą“±ąµ ą“¤ą“¾ą“¤ąµą“ą“¾ą“²ą“æą“ ą“ąµą“£ąµą“Æ ą“µąµą“ą“¤ąµą“¤ą“æą“Øą“Øąµą“øą“°ą“æą“ąµą“ąµ ą“¤ą“æą“„ą“æą“Æąµą“ąµ ą“¦ąµąµ¼ą“ąµą“Æą“ ą“®ą“¾ą“±ąµą“Øąµą“Øąµ ā ā20 ą“®ąµą“¤ąµ½ 27 ą“®ą“£ą“æą“ąµą“ąµąµ¼ ą“µą“°ąµ. ą“Ŗąµą“°ą“¾ą“¦ąµą“¶ą“æą“ ą“øąµą“°ąµą“Æąµą“¦ą“Æą“¤ąµą“¤ą“æąµ½ ą“Øą“æą“Øąµą“Øąµ ą“ ą“³ą“ąµą“ąµą“Øąµą“Øąµ.
System Architecture
End-to-end view of how a date + lat/lon request flows from the user, through the API gateway and compute layer, down to public-domain ephemeris sources, and back as a Panchang JSON document.
Request & Data FlowUser ā Frontend ā API ā Compute ā Sources
Tech StackLayer by layer
Component Treesrc/
apps/web/ āāā routes/ ā āāā Today.tsx # Panchang dashboard ā āāā Detail.tsx # Tithi / Nakshatra detail ā āāā Calendar.tsx # Monthly festivals ā āāā Kundali.tsx # Lagna chart ā āāā Search.tsx āāā components/ ā āāā PanchaAngas.tsx # 5-limbs card ā āāā DayArc.tsx # Sun/moon arc SVG ā āāā MuhurtaGrid.tsx ā āāā PlanetStrip.tsx ā āāā NorthChart.tsx # Diamond SVG ā āāā FestivalCard.tsx āāā lib/ ā āāā api.ts # typed client ā āāā geo.ts # geolocation + tz ā āāā i18n.ts # sa/hi/en/ta/te/ml āāā main.tsx services/compute/ āāā engine.py # orchestrator āāā panchang/ ā āāā tithi.py ā āāā nakshatra.py ā āāā yoga.py ā āāā karana.py ā āāā muhurta.py āāā astro/ ā āāā swisseph_wrapper.py ā āāā sunrise.py # USNO SPA ā āāā ayanamsa.py # Lahiri default āāā festivals/ āāā rules.json āāā resolver.py
Data Pipeline & Computation
Every value rendered in the Panchang tab is computed at request time from four open sources. No commercial almanac text is ingested ā only longitudes, sunrise times, and public-domain rules.
- Role
- Primary source for Sun & Moon ecliptic longitudes, planetary positions, ayanamsa.
- License
- AGPL / Open-source mode
- Access
pyswissephbinding Ā· binary.se1files on local disk- Cadence
- Sub-millisecond at request time
- Output
- λ_sun, λ_moon (sidereal, Lahiri), planet longitudes & speeds
- Role
- Cross-validation of planetary positions; high-precision DE441 ephemeris reference.
- License
- U.S. Govt Ā· Public domain
- Access
- REST API Ā· batched nightly for next 30 days
- Cadence
- Nightly cron Ā· cached
- Output
- RA/Dec ā ecliptic Ī»/β Ā· used to flag SE drift > 0.01°
- Role
- Local sunrise, sunset, twilight times ā anchor for tithi/nakshatra at sunrise.
- License
- U.S. Govt Ā· Public domain
- Access
- Re-implemented from published SPA paper (Reda & Andreas, NREL)
- Cadence
- Computed per request from lat/lon/date
- Output
- Sunrise, sunset, solar noon, civil twilight
- Role
- Julian Date conversion, ĪT, Lahiri ayanamsa, lunar phase calculation.
- License
- Public-domain formulas
- Access
- Implemented inline in
astro/meeus.py - Cadence
- Inline at request time
- Output
- JD ā Gregorian, ĪT correction, ayanamsa offset
Computation RulesStandard open formulas
engine.py Ā· main loopPseudocode
Ingestion & CronDaily 00:30 UTC pre-warm
Database Schema
PostgreSQL 16 ā normalised reference tables for tithi/nakshatra/yoga/karana, a wide panchang_day fact table for fast dashboard reads, and a rules-based festival_rules resolver. PostGIS for location.
API & Sample Responses
REST Ā· OpenAPI 3.1 Ā· all timestamps ISO-8601 in UTC with local-offset preserved. Click any endpoint to expand its parameter table and a sample JSON response.
Style Guide
Traditional Panchangam palette grounded in saffron, maroon, and gold ā softened on a parchment background. Cormorant Garamond for headings, DM Sans for UI, JetBrains Mono for numerals, Tiro Devanagari for vernacular text.