Method
How the chart on this site is actually computed.
Most English-language saju online is a general chatbot in a costume. You give it a birthday, it writes something that sounds right, and it guesses the hardest part of the calculation from the calendar date. That guess is wrong for a large share of people, and this page explains why, and what this site does instead.
A pillar is a moment, not a date
Your four pillars come from the old East Asian calendar: a year pillar, a month pillar, a day pillar, and an hour pillar, each written as one heavenly stem and one earthly branch. The month pillar is the one that trips up automated readers. It does not change on the first of the Gregorian month, and it does not change on the first of the lunar month either. It changes at a solar term.
The twenty-four solar terms divide the year by the sun's actual position along the ecliptic, in fifteen-degree steps of solar longitude. The month pillar advances the instant the sun crosses one of the twelve major terms, and the year pillar advances at Ipchun, the start of spring, in early February, not at the lunar new year that most people picture. These crossings happen at a precise astronomical time, down to the minute, and that time is different every year and different in every time zone. Someone born on the morning of a term-change day and someone born that evening can carry two different month pillars.
What that means if you were born near a term
If your birthday falls within a day or two of a solar term, a reader that rounds to the calendar date has a real chance of handing you the wrong month pillar, and the month pillar drives a large part of the reading: the seasonal strength of your day master, your balancing element, several of the ten gods. Get the boundary wrong and the interpretation is confidently, invisibly off. This is the single most common way an English saju reading is broken, and it is impossible to notice from the output, because the wrong chart still reads as a fluent, plausible chart.
How this site computes it
K-Saju computes the solar-term times astronomically, the way a Korean manse (만세력) calendar does, and switches the year and month pillars at the exact term moment rather than at midnight. The engine is built on lunar_python, a library that resolves the term boundary to the minute. The day pillar follows the mainstream Korean convention for the late Rat hour: a birth from 23:00 onward keeps the day pillar of the birth day rather than rolling to the next, which is the sect most Korean manse calendars use.
No language model is involved in the calculation, and none is involved when a reading is written. The chart is math, and the interpretation is a fixed library of text keyed to the features of your chart. Two people with the same day master and the same balance read the same words, because the reading is a property of the chart, not a fresh guess each time.
Cross-checked, not trusted blindly
A single calendar library can be quietly wrong, so the engine is verified against a second, independent implementation (sxtwl). Across a sweep of 461 distinct dates and times, including boundary cases sitting right on term changes, the two libraries agreed on every pillar. Where an independent check was possible, it was done before shipping. If the two had disagreed on a single date, the engine would not have gone out.
Why we bother
Because a chart you can trust is the whole point. Anyone can generate a paragraph about the tall tree or the morning rain. Fewer take the trouble to make sure the paragraph is about the right chart. The solar-term boundary is unglamorous and it is exactly where the accuracy lives, so it is where the work went.
Every reading on the site is computed this way. If a chart here ever looks wrong to you, especially a boundary case near a term, we want to hear about it: see the contact page. And read the standing note on every page, which we mean plainly: a chart is for reflection and entertainment, a mirror, not a verdict.