How we turned a scattered tradition into formulas, then into tools that know who you are

by•

Vietnamese families still run their year on the lunar calendar: ancestor anniversaries, Tet (Vietnam New year), the 1st and 15th of each month, which day to move house. The knowledge behind it is real, but it lives in old books, in what your grandmother remembers, and in websites that copy each other and rarely cite anything.

I’m building Nhat Nguyet to fix that. Here is the order we built it in, because the order turned out to matter more than any single feature.

1. Knowledge first, before any tool

We started with sources, not features: classical texts, academic papers, official records, and reputable newspapers. Every factual claim in an article (a date, a number, a book title, a quote) carries a footnote to a specific source. If the source doesn’t say it, the sentence gets rewritten or removed.

We also label each passage by what kind of knowledge it is:

  • Calculated: our engine can compute it, like a lunar date.

  • Historical record: backed by a document.

  • Folk belief: what people traditionally say.

  • School-specific rule: one tradition’s method, named as such.

  • Unproven: a claim nobody has tested.

A reader should always know whether they are reading a fact, a belief, or a rule from one school.

2. Then formulas, tested like code

Once the knowledge was written down, the parts that are actually computable became code in a single calculation engine:

  • Lunar calendar: checked against NASA new-moon data (1901 to 2100) and IMCCE solar-term data (1900 to 2100). It uses Vietnam’s time zone for every year, which is why some dates differ from Chinese calendars.

  • I Ching: all 64 hexagrams are verified by invariant tests derived from the classical texts, not by copying a table. When a test fails, we assume the data is wrong, not the test.

  • Where schools disagree, we show both. People born between 11pm and midnight get different dates under two traditions. Instead of quietly picking one, the result says so.

The rule we hold to: any table in an article must be generated by the same engine the tools use. Two sources of truth always drift apart.

3. Then tools, each with its own “why”

Every tool result comes with a short block explaining:

  • where the rule comes from;

  • the steps of the calculation;

  • where traditions disagree;

  • what has never been proven.

The answer and its provenance travel together, so you can’t share one without the other.

4. Then personalization, with limits

Once you add your birth date, the app computes things for you directly. Search answers “what’s my zodiac element” with your answer, not a link to a form.

For the long personal readings, the language model only receives the already-computed chart data. Your name and birth date never go to the model. The AI assistant answers from our published articles with numbered citations, and checks every question and answer against content rules before replying.

What I learned

The hard part wasn’t the AI. It was refusing to let the AI fill gaps the sources didn’t fill. Almost every quality problem we caught came from a confident sentence with nothing behind it.

A question for other makers: if your product turns domain knowledge into something personal, how do you show users where an answer comes from without burying them in caveats? We’re still tuning that balance.

15 views

Add a comment

Replies

Be the first to reply

Have a question or a thought to share? Add a comment above to start the conversation.