The story
Sc. 01 · the brief
A blog came back as a library.
OCO spent five years, under its old name, as an astrology blog and tarot shop, then two years quiet. It came back grown up: a library, with an engine underneath. The founding law fits on one line (computed, not invented) and the sixth is stricter: every sentence in a reading must be able to name the transit that produced it.
Sc. 02 · what we built
Free tools in front, a library behind.
In front: natal chart, compatibility, astrocartography, the daily sky, horoscopes, numerology and Human Design, all free. Behind them stand the shelves: 78 tarot cards, runes, folk beliefs, a dream book and a library of placements. Search forgives Latin typing, so “obeseniq” finds Обесеният. Bulgarian is the source, not a translation.
Sc. 03 · how we built it
At midnight, a horoscope is a database read.
Positions come from Swiss Ephemeris compiled to WebAssembly and checked against NASA's JPL Horizons to 0.014″; the browser computes, the server re-checks at zero tolerance. Readings are assembled from 5,190 pieces written in advance: no runtime generation, no framework, not even a package.json. The paywall is a WHERE clause, not new content.
Sc. 04 · the detail
Rename what people read, never what machines match.
Трето око became OCO on 31 August. The old name was typed in 1,096 places across 737 files; now one module holds it. The rule: what a person reads is rebranded, what a machine matches is not. Storage keys, the hashing prefix and the orb set stayed frozen, and a test makes sure they stay that way.
Sc. 05 · where it stands
Next, every page becomes a film.
Live since August 2026, and under the OCO name since September. Next comes the film relaunch: every page replaced by its film, with the old pages kept whole at a second address. Until then the home page is a countdown, and the Moon keeps the time, to the new moon of 10 October, at 18:50 Sofia time.