Web Our product · live Next.jsFlutterDart

A Hindu calendar computed for your own city, not a national reference clock

A panchang and festival calendar where every date is computed from real per-city sunrise — build-time astronomy, ~28.8K static pages, no ads, no accounts, no server.

RoleDesign + Build
Timeline2025 – present
PlatformWeb (Next.js) · Mobile app in release engineering
TypeOur product

Context

Most panchang apps and sites compute every date off a single national reference point, then show the same tithi to someone in Chennai as someone in Chandigarh. That's wrong — sunrise, and everything the panchang derives from it, genuinely differs by city. The other common pattern is an ad-heavy, login-walled app that funnels toward an astrology upsell.

We built Chakra to be neither: a calm, accurate, ad-free Hindu calendar computed for where you actually live.

The problem

  • Sunrise/sunset depend on real latitude, longitude and elevation — a national reference clock gets the tithi boundary wrong for most of the country, most of the time.
  • A calendar this personal needs to be trustworthy. "Looks plausible" isn't good enough when someone is timing a vrat or a muhurat off it.
  • The obvious naive build recomputes astronomy in the browser or on a server on every request — slow, and a second place for the date math to quietly drift from the app's.
  • Real panchang apps in this category are usually funded by ads and upsells. We wanted the opposite: no ad network, no accounts, no telemetry — not a toggle, but an architecture that has no code path for any of it.

What we built

  • Astronomy computed once, at build timeastronomy-engine (MIT, VSOP87/ELP series) runs in a Node/TS CLI to emit a precomputed almanac dataset (2020–2100). Nothing is calculated live in a browser or on a server per request.
  • One shared Dart core, two products. panchang-core (NOAA sunrise/sunset per city), festival_core (57 festival/vrat/sankranti rules across 6 tradition presets) and a 185-city dataset are consumed by both the Flutter app and a Dart CLI that precomputes every web page's JSON — so a date is never computed two different ways between app and site.
  • A static Next.js 15 site, ~28.8K pages/panchang/<city>/<date> and /festivals/<slug>/<year>, generated at build time from that precomputed data. No server, no database, no panchang math shipped to the browser.
  • Golden-tested. Every engine module is checked in CI against externally sourced references (drikpanchang.com, U.S. Naval Observatory) — a wrong date fails the build before it ships.
  • A Flutter mobile app (Riverpod + Isar) — daily panchang, festival/vrat calendar, vrat tracking with reminders, an aarti/chalisa library, multi-location support, home-screen widgets. Feature-complete; remaining work is release engineering (store signing, subscription configuration, notification reliability) ahead of a public store listing.
  • Cloudflare Workers, D1 and R2 for the site's edge infrastructure and content storage.

Result

The panchang engine, the 57-rule festival/vrat system, and the website are complete and live at dailychakra.app — real per-city astronomy, ~28.8K pages, zero ads or accounts. The mobile app is feature-complete and in release engineering toward a public store listing. It's the build we point to for data-correctness rigor and large-scale static generation, not just UI work — the kind of problem where "it looks right" and "it is right" are different bars, and only one of them was acceptable.

Visit dailychakra.app →

185
cities with real per-city sunrise, not one national clock
actual
57
festival, vrat and sankranti rules across 6 traditions
actual
28.8K
static panchang + festival pages, no server per request
actual
0
ads, accounts or telemetry — by construction, not a setting
actual

Built with

Next.jsFlutterDartCloudflare Workersastronomy-engine
Next A cross-border remittance app, built as a working sample arrow_forward

Ready to build

Have something to build?

Send a few lines about your project. We reply within one business day with an honest read.

Start a project

Not ready to commit? Book a 15-minute build-readiness call instead — leave with a rough scope, the likely risks, and the next sensible step, even if we're not the right studio.

Best for founders with a product idea, rough spec, or existing app that needs senior builders.