Case study
Change of Chart
A personal astrocartography map that calculates entirely in the browser — no backend, no signup. Enter your birth details and see where each planet was rising, setting, or at its highest point around the world, explained in plain language instead of ephemeris data.
- Client
- Cryptid Studio
- Year
- 2026
- Disciplines
- 2
5,972
Cities in database
40
Planetary lines
0
Backend servers
< 0.5°
Position accuracy vs. Swiss Ephemeris
Research
The research subject was existing astrocartography tools — and most of them read like ephemeris spreadsheets: technically accurate, but cold, usually gated behind an account or a paid API, and silent on what a line actually meant or why it mattered.
The gap wasn't the astronomy. It was the explanation.
UX decisions
Recommendations and their explanations live in one unified, expandable panel instead of two separate boxes — click a line, it opens in place.
Every nearby city gets a plain-language 'why,' not just a distance in kilometers.
The app opens to a blank welcome screen, never someone else's birth data, so a first-time visitor never mistakes a stranger's chart for a demo.
Iteration
Started as a static prototype with one hardcoded birth chart, then rebuilt into a full client-side engine so anyone could enter their own data.
The city database grew three times over — 169, then 256, then 5,972 — as real gaps kept surfacing.
An accessibility pass added keyboard navigation and proper ARIA roles across the map and forms after testing revealed none of it was reachable without a mouse.
Implementation
Vanilla JavaScript, no framework, no build step.
Planetary positions come from Keplerian orbital elements solved directly in the browser, validated against Swiss Ephemeris.
Timezone offsets resolve automatically and historically-accurately from birthplace using the browser's own Intl API — no timezone database had to be shipped by hand.
No backend, no signup, nothing leaves the visitor's browser.
Lessons learned
The Moon's position was once off by 19 degrees — traced back to a single 1.5-day epoch mismatch buried in the orbital element formulas, only caught by cross-validating every planetary position against Swiss Ephemeris until they lined up.
The other lesson was about naming: nearly every promising name was already taken. 'Astro' and 'Atlas' turned out to be two of the most oversaturated words in this exact category of app.
Outcomes
Live and free to use, calculating real, validated birth charts entirely in the browser — no account, no data collection, no server.
Selected views



Related reading

Inside Grimoire Keeper: Spells, Skies, and a Smarter Way to Keep Your Practice
Most practitioners maintain their practice across a collection of systems: a physical notebook for spells, a separate app for moon phases, browser tabs for herb references, and…

A Beginner's Guide to Starting a Digital Grimoire Practice
Most beginners spend months collecting candles, crystals, and decks before they write down a single observation about themselves. The tools feel like the practice. They're not.…
