ArthIQLabsStart a conversation →
Case study · No. 04June 2026
Client

kundali.live

kundali.live ↗

Consumer Jyotish in plain language, in seven languages. Every answer is computed by an engine and traced to a classical source, and you pay a question at a time.

Next.js 16Bun monorepoCloudflare WorkersD1 + R2better-auth7 Languages
Product
kundali.live
Role
End-to-end Build
Shipped
June 2026
Status
Live
Discipline
Product · Engineering · AI
kundali.live home
Fig. 01 · kundali.live, chat and the four ways into a chartNext.js · Bun · Cloudflare Workers
§ 01The Studio Loop

How we built it.

Agents drafted
Route and component scaffolding, the typed engine client, the bulk of 1,246 tests across 148 files, localisation drafts for seven scripts.
ArthIQ owned
The metering model, the crisis-tier safety contract, the boundary that keeps Jyotish computation in the engine, and the reliability telemetry the ops digest reads.
Review gates
Every citation surfaced to a reader, every priced turn, every safety classification, every engine timeout ceiling.
§ 02The Brief

An answer you can check.

The Problem

Ask a general-purpose AI about your chart and it will invent the planetary positions first, then write about them with complete confidence. The prose is the easy part. The astronomy is the part nobody checks.

Computed, not guessed.

Our Approach

kundali.live computes no Jyotish of its own. Every position, dasha and yoga comes from the KundaliMCP engine over JSON-RPC, and the answer is written on top of facts that were calculated rather than recalled. Where a reading rests on a classical rule, the reader is shown which text it came from.

The commercial model follows the same honesty. There is no subscription: ten questions free to try, twenty a month once you sign in, then ten cents a question from a balance you top up. A turn is reserved before it runs and refunded if it fails, so a broken answer is not a charged one.

1,246
Tests
7
Languages
10¢
Per question
Live
Status
§ 03Surfaces
7 surfaces

Four ways into one chart.

Chat is the front door, but a chart is not a conversation. Each surface below reads the same computed chart in a different shape, so a reader can browse it as well as ask about it.

§ 01chatOpen-ended Jyotish conversation, answered from the classical canon. Ten questions free to try, then twenty a month once you sign in
§ 02chartThe birth chart as it is cast: grahas, bhavas, the navamsha and the Moon chart beside it
§ 03insightsThe whole chart read house by house, favourable and testing, each reading cited to its classical source
§ 04journeyThe next hundred years as a tide of dashas and transits, with life events set on a timeline
§ 05panchangThe five limbs of the day, plus the auspicious and inauspicious hours to act in
§ 06walletTop-up balance, referral credit and a per-turn ledger. No subscription
§ 07adminOperator consoles for usage, reliability and practitioner feedback
§ 04Technical Foundation

Consume the engine, do not rebuild it.

The rule that shaped the architecture: this is a consumer endpoint, not a second engine. It owns the reading experience, the money and the safety contract, and nothing else.

Next.js 16 on Bun
A Bun workspace monorepo: the web app, the mobile client, and shared packages for limits, i18n and the wire contract
Cloudflare Workers
Deployed through OpenNext, on the same runtime and the same invoice as the rest of the platform
Cloudflare D1 and R2
Threads, wallet ledger and identity in D1; generated report artifacts in R2
better-auth
GitHub and Google sign-in, with an anonymous tier that works before you have an account
Stripe
Wallet top-ups rather than a subscription, so a reader pays for what they ask
KundaliMCP engine
Every Jyotish fact comes from the engine over JSON-RPC. This app computes none of it itself
7-language i18n
EN, HI, SA, TA, TE, KN, BN, validated at build time rather than translated at runtime
Reliability telemetry
Hourly outcome buckets at the engine client, an edge-triggered alert, and a synthetic probe underneath so it still reports on a quiet night
§ 05Delivered
8 items

What we shipped.

01 / 08Consumer chat with per-turn meteringReserve then refund, so a turn that fails is not a turn you paid for. A turn cut short by a timeout keeps what it streamed and says so
02 / 08Wallet, pricing and referralsTen free questions anonymously, twenty a month signed in, then ten cents a question from a balance you top up
03 / 08Self-serve reportsLong-form readings generated on demand and stored as artifacts, unlockable without talking to anyone
04 / 08Chart, Insights, LifeMap and PanchangFour ways into the same chart, each one a first-class surface rather than a tab on the chat
05 / 08Crisis-tier safety contractA Tier-1 message returns no generated answer at all; the client surfaces its own crisis resources off the classification
06 / 087-language localisationSeven scripts across the interface and the readings, with the string set validated in CI
07 / 08Reliability telemetry and an ops digestReliability is the digest's first section and first verdict input, because a digest that cannot report a bad day is not monitoring
08 / 08Versioned mobile API surfaceA frozen /api/m/v1 wire contract over the same library functions the web calls, so a mobile client cannot drift from the web
Next
Tell us what you're building.

Whether it is the advice, the build, or running it once it is live, tell us what you are working on.

Start a conversation →