TypeScript · React · Vite · swisseph-wasm · PWA

PyJHora Web — a desktop Vedic astrology library, ported to the browser

An offline-capable web port of PyJHora, a Python/PyQt Vedic astrology desktop library, rebuilt around the Swiss Ephemeris compiled to WebAssembly.

View project ↗

Context

PyJHora is a Python/PyQt desktop library implementing the calculations from Vedic Astrology - An Integrated Approach — panchanga, divisional charts, dozens of dasha systems, and yogas — built on the Swiss Ephemeris via pyswisseph. Capable, but it only runs as a local Python/Qt install.

Problem

Getting any of that in front of someone without a Python environment meant either a server round-trip for every calculation or dropping offline use entirely — neither fit a tool people might actually want to reach for without a connection.

What I built

A largely AI-assisted ("vibe coded") port of the calculation engine to TypeScript, running entirely client-side. The Swiss Ephemeris itself is compiled to WebAssembly (swisseph-wasm) rather than reimplemented, so the astronomical math stays accurate; the panchanga, chart, and dasha logic around it runs in a React/Vite PWA that installs and works fully offline.

Outcome

A working web port of a Python desktop tool, live at the link above, with the original library at github.com/AmitPhulera/pyjhora. Still rough around the edges — built to see how far an AI-driven port of a large, unfamiliar codebase could go, not as a polished product.