Skip to content

TejasAmle/naksha

Repository files navigation

Naksha — Free Kundli & Vedic Compatibility, actually explained

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


✨ See it in motion

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, watch docs/naksha-intro.mp4.


What is Naksha?

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

Features

  • 📜 Accurate Vedic charts — sidereal, Lahiri ayanamsa, via a swappable KundliProvider interface (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.

Keywords this serves

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


Tech stack

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.


Getting started

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)


Project structure

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.


Roadmap

  • v1.0 — Free kundli + plain-English Reading/Chart modes
  • v1.1 — Programmatic SEO, share pipeline, OG/Story images
  • v1.2Love 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

Credits

Built by Tejas Amle. Visual direction from a Claude Design handoff; engineered with Claude Code.

License

MIT

About

Free Vedic kundli (birth chart) generator + Kundli Milan compatibility matching (36-point Guna Milan) + FLAMES — read in plain English. No ads, no signup. Next.js.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors