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.