A Course in Miracles,
The original 1965 manuscript — answering, in any language, in real time.
Built on Anthropic Claude Sonnet 4.6 — fast enough for a real conversation, capable enough to hold the full Urtext discipline without ever losing the thread.
Why this exists
An AI grounded in a single sacred text.
For over sixty years the 1965 Urtext of A Course in Miracles has lived in archives — pre-edit, pre-publication, the text exactly as it was scribed.
For the first time, every passage can be queried conversationally — in twenty-seven languages, on a phone, with a capable model grounded by the Urtext discipline on every turn.
System architecture · on one page
How it's built.
Three tiers. One sacred source. Twenty-seven languages.
TIER 1 · THE BROWSER
A self-contained PWA in your hand.
Hand-written HTML, CSS, and vanilla JavaScript. No framework. No build step. Loads from cache. Installable.
TIER 2 · THE PROXY
One function that holds the only secret.
A Supabase Edge Function — Deno runtime, serverless. The browser never sees the API key.
TIER 3 · THE BRAIN
Anthropic Claude Sonnet 4.6.
Anthropic's Sonnet model — grounded by the Urtext discipline and a fresh system prompt on every turn.
The source
The 1965 Urtext.
Pre-publication. Pre-edit. The text exactly as it was scribed.
The voice
Twenty-seven languages.
None of them an afterthought.
UI · mode pills · empty states · placeholders · bubble actions · loading messages · citation refs · topic chips · glossary · taglines · tour steps · privacy modal — every visible string in every language. The Scribe answers in your chosen language, with a server-side language lock that prevents drift mid-thread. In Laugh mode, each language also carries a rhythm instruction — Finnish silence, Japanese 間, Madrileño sardonic register — so the comedy lands in the cadence native speakers expect.
The request lifecycle
From a tap to an answer, in six steps.
The architectural choice
One file. No framework.
Considered carefully. Chosen with eyes open.
Three modern stacks would be defensible alternatives for a site like this. Each is the right answer for a different app. Here is the matchup against the one you are reading.
App Router · Server Components · ISR
The English app shell (~1.2 MB) and the 26-language locale bundle (i18n/non-en.js, ~2.2 MB) are separate files — the locale is fetched and cached only when a non-English language is selected. The principle stands: zero frameworks, zero build steps, zero node_modules. File separation, not architectural complexity.
By deliberate omission
What this stack is not.
No frameworks. No content database. No required account. No tracking. No advertising.
The principle
The internet was built
to harvest your attention.
This was built to return it to you.
A user, on first opening URTEXT AI