A free, modern Indian kundli (Vedic birth chart) generator that reads your chart back to you in plain English — plus Vedic compatibility matching (Kundli Milan) and a FLAMES calculator. No ads. No signup. No spam.
🔮 Live: naksha-blog.vercel.app · 🪐 Generate your kundli · 💞 Match two charts · 🔥 FLAMES
The intro film — Naksha's signature gesture, a four-point star morphing into a heart as the experience turns from Solo (your kundli) to Love (compatibility):
▶️ If the player doesn't load inline, watchdocs/naksha-intro.mp4.
Naksha is a free online Vedic astrology tool for India and the diaspora. Enter your name, date, time, and place of birth and get an accurate janam kundli (birth chart) — computed with the Lahiri ayanamsa (the Indian government standard) and the sidereal zodiac — then read back to you in clear, plain English instead of 47 banner ads and walls of Sanskrit jargon.
The Indian astrology web is dominated by two tired models: ad-stuffed free-utility sites that look like 2010, and per-minute "talk to an astrologer" marketplaces that monetize the moment of anxiety. Naksha is the clean, beautifully designed, completely free alternative — think Co-Star, but built for Vedic astrology.
It now ships three experiences:
| Mode | What it does | Try it |
|---|---|---|
| 🪐 Solo | Your full kundli — Lagna, Rashi (Moon sign), Sun sign, Nakshatra, all nine planets across twelve houses, Vimshottari Dasha timeline, and Manglik / Sade Sati / Kaal Sarp flags. Toggle between a plain-English Reading and a technical Chart view (North + South Indian styles). | naksha-blog.vercel.app |
| 💞 Love | Kundli matching (Kundli Milan). Enter two birth charts and get the classical 36-point Ashtakoot Guna Milan score across all 8 koots, both individual readings, a synthesised couple portrait, and honest dosha flags (Bhakoot, Nadi, Manglik) — all in plain English. | /love |
| 🔥 FLAMES | The school-yard name-compatibility game — Friends, Lovers, Affection, Marriage, Enemies, Siblings — instant and shareable. | /flames |
- 📜 Accurate Vedic charts — sidereal, Lahiri ayanamsa, via a swappable
KundliProviderinterface (Free Astrology API today; self-hosted Swiss Ephemeris later). - 🗣️ Plain-English Reading mode — your chart explained like a person would explain it, not a textbook. Zero runtime AI: every interpretation is composed deterministically from offline-authored content.
- 📊 Technical Chart mode — real North & South Indian SVG charts, full planet table with nakshatra + dignity, Vimshottari Mahadasha / Antardasha timeline.
- 💞 Vedic compatibility (Kundli Milan) — classical 36-point Ashtakoot Guna Milan (Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, Nadi), Manglik-mismatch detection, framed sanely instead of doom-cast.
- 🔥 FLAMES calculator — the classic game, deterministic, instantly shareable via URL.
- 🔗 Shareable everything — per-chart and per-match link previews (Open Graph images), 1080×1920 Instagram-Story PNGs, X / WhatsApp intents, and native mobile share with the image attached. Links encode birth details in the URL with a chosen expiry — nothing is stored on a server.
- 🎨 Editorial design system — Newsreader / Hanken Grotesk / Space Mono, warm cream Editorial theme for Solo and a blush Love theme that the Solo/Love toggle flips between.
- ♿ Accessible & fast — WCAG 2.2 AA contrast, mobile-responsive, honours
prefers-reduced-motion. - 🔎 SEO + AIO built in — programmatic pages for every Rashi, Nakshatra, House and Dasha;
sitemap.xml,robots.txt,/llms.txt, FAQ structured data, and canonical URLs.
free kundli · kundli online · janam kundli · kundli in english · vedic birth chart calculator · kundli matching · kundli milan · guna milan · ashtakoot · 36 guna matching · manglik dosha · nakshatra · rashi · lagna · mangal dosha matching · flames calculator · name compatibility · birth chart compatibility
| Layer | Choice |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack, React 19) |
| Language | TypeScript |
| Styling | Tailwind CSS v4 + a custom CSS-variable design system ([data-theme]) |
| Fonts | Newsreader + Hanken Grotesk + Space Mono via next/font/google |
| Images | next/og for per-chart / per-match OG + Story images |
| Astrology | Free Astrology API behind a provider interface; deterministic Vedic math (vimshottariDasha, dignities, doshas, Ashtakoot) in pure portable TypeScript |
| Geocoding | GeoNames city autocomplete (+ built-in fallback list) |
| Persistence | Browser localStorage / sessionStorage — no backend, no accounts |
| Tests | Vitest (138 unit/component/API) + Playwright E2E, green on GitHub Actions CI |
| Hosting | Vercel |
No runtime AI. All interpretation copy is authored offline and stitched deterministically — the user's birth details never get sent to an LLM.
git clone https://github.com/TejasAmle/naksha.git
cd naksha
npm install
# (optional) real APIs — the app works fully without them
cp .env.local.example .env.local
# set FREE_ASTROLOGY_API_KEY and GEONAMES_USERNAME
npm run dev # → http://localhost:3000| Env var | Purpose | Without it |
|---|---|---|
FREE_ASTROLOGY_API_KEY |
Real Vedic chart math | Falls back to a deterministic sample chart — full UI still works |
GEONAMES_USERNAME |
Worldwide city autocomplete | Falls back to ~30 Indian cities + diaspora hubs |
Scripts: npm run dev · npm run build · npm run typecheck · npm run lint · npm test (Vitest) · npm run test:e2e (Playwright)
naksha/
├── app/ # Next.js App Router
│ ├── page.tsx # Solo landing (kundli form)
│ ├── kundli/[slug]/ # Chart view (localStorage)
│ ├── love/ # Love landing + /love/[slug] result
│ ├── flames/ # FLAMES landing + /flames/[slug] result
│ ├── share/ # /share/[token] + /share/love/[token] (+ OG images)
│ ├── api/ # kundli · match · cities · story-image routes
│ ├── rashi · nakshatra · house · dasha · learn # programmatic SEO pages
│ ├── sitemap.ts · robots.ts · llms.txt # SEO + AIO
│ └── globals.css # design tokens + every component class
│
├── components/
│ ├── landing/ forms/ loading/ chart/ # Solo
│ ├── love/ flames/ # Love + FLAMES
│ └── ui/ # LogoMark, LoveLogoMark, TogglePill, …
│
├── lib/ # PORTABLE TypeScript — no DOM/Next deps (RN-ready)
│ ├── astrology/ # provider, freeAstrologyApi, vedicMath, compatibility
│ ├── games/flames.ts # FLAMES algorithm
│ ├── content/ interpretation/ # offline-authored copy + deterministic composers
│ ├── share/ storage/ # share tokens + local persistence
│ └── types.ts, types/love.ts
│
└── docs/naksha-intro.mp4 # the intro film above
The /lib layer is pure TypeScript with no DOM or Next dependencies, so it lifts directly into a future React Native (Expo) app.
- ✅ v1.0 — Free kundli + plain-English Reading/Chart modes
- ✅ v1.1 — Programmatic SEO, share pipeline, OG/Story images
- ✅ v1.2 — Love mode (Kundli Milan, 36-point Guna Milan) + standalone FLAMES
- ⏭️ v1.3 — Daily horoscope habit loop · end-user theme switcher ·
/love/sign/[a]/[b]programmatic compatibility pages - ⏭️ v1.4 — AI layer: grounded "ask your chart" Q&A
- ⏭️ v1.5 — Hindi + regional languages · React Native app
Built by Tejas Amle. Visual direction from a Claude Design handoff; engineered with Claude Code.
MIT