How a Munyeo Reading Is Made: Calendar Data, a Language Model, and Checks
For entertainment & self-reflection. Not advice.
A Munyeo reading is built in two separate stages: a fixed calculation that produces the raw chart data, and a separate language layer that turns that data into sentences. The two don't share the same logic — the numbers come first, from ordinary calendar and astronomical math, and the writing comes after, generated to describe what those numbers already say. Here's what actually happens at each stage.
Stage one: numbers, not guesses
For a Saju chart, the underlying calculation maps a birth date and time onto the traditional East Asian calendar's stem-and-branch system, using solar-term boundaries — the same 24-division calendar used for centuries — rather than plain Gregorian months. The solar-term data comes from Korea's official astronomical data source (KASI, the Korea Astronomy and Space Science Institute), cross-checked against an independently computed astronomical calendar to catch mismatches. For horoscope and compatibility readings that need planetary positions, the app calculates real geocentric ecliptic positions with an open-source astronomy library, and those results have been checked against JPL Horizons — NASA's own ephemeris service — across a spread of dates and planets. None of this depends on the language model at all; it's the same math anyone could run independently, before a single sentence is written.
Stage two: turning the chart into sentences
Once the chart data exists, a language model is given that data — the element balance, the Day Master, the day's planetary positions, whichever facts apply to that reading — and asked to write a short interpretation grounded in exactly that evidence, in Munyeo's voice. The model isn't asked to invent facts about you; it's asked to describe what's already in front of it, the way a person summarizing a spreadsheet describes numbers instead of making them up.
Why the language model doesn't touch the math
Keeping the calculation and the writing in two separate stages isn't just tidy architecture — it's the reason a reading can be checked at all. If a language model were asked to work out a Day Master or a planetary position on its own, there would be no independent way to confirm it got the arithmetic right, since the same model producing the answer would also be producing any explanation of how it got there. By handing the model a finished, already-verified set of facts and asking it only to write about them, the harder problem — is the chart correct — gets solved once, upstream, by ordinary code, and stays solved no matter how many different sentences get generated to describe it afterward.
The checks before you see it
Before any generated text reaches a reader, it passes through a separate validation layer — pattern and dictionary-based rules, not another model's opinion — that looks for a few specific problems: language that states outcomes as settled fact instead of a leaning to reflect on, mentions of a zodiac sign or tarot card that isn't actually part of that reading's evidence, and topics the app has decided are out of scope regardless of how a reading is phrased — health diagnoses, legal outcomes, specific investment calls, and similar high-stakes claims. If the first attempt at a sentence trips one of these checks, the system tries generating it again once. If the second attempt still fails, the reading falls back to a pre-written template pulled from the same underlying data, so a reader still gets a grounded, on-topic reading rather than nothing.
What this design is trying to get right
The goal of splitting the process this way is to keep the parts that need to be exactly right — the chart, the sky positions, the calendar math — completely separate from the part that's doing creative language work, so a language model's phrasing doesn't get the final say over what the underlying facts actually are. The checks exist for the same reason: not to make the writing flashier, but to keep it inside the lines the app has set for itself, on a subject that's explicitly framed as entertainment and reflection rather than a source of settled answers.
None of this is a claim that any single reading gets everything right — it's the process, laid out plainly, so it's clear what's calculated, what's written, and what gets checked before either one reaches you.
For entertainment and self-reflection. Not advice.
See the character this process writes in: Who is Munyeo?
Related guides