Alexandra Nac
How It Works
Nothing on this site is hardcoded.
Every page, journey, and recommendation is generated live from four layers working together — content is authored in the CMS, reasoned over by Alex OS, ranked by an optional semantic retrieval layer, and rendered as a dynamic experience on the frontend you're using right now.
The four layers
CMS — Content Registry
Next.js + MySQL
The system of record. Every content type, field, page, setting and relationship is stored in MySQL and edited through the CMS — nothing about the content model is baked into the code.
Alex OS — Reasoning Layer
FastAPI (Python)
A separate service that reads the content registry over an internal HTTP API, reasons over relationships and intent, and decides what to surface, summarize or recommend. It never touches the CMS database directly.
Retrieval — Semantic Memory
PostgreSQL + pgvector · falls back to keyword scoring
Alex OS chunks and embeds published content into its own PostgreSQL database with pgvector, so a question can be matched by meaning rather than by keyword. The vectors are derived data: they can be rebuilt from the CMS at any time, and if the vector store is unavailable retrieval falls back to keyword scoring instead of failing.
Frontend — Dynamic Experience
Next.js App Router
The public site. Journeys, sections and the assistant all render live from what the CMS and Alex OS produce, rather than from hand-built pages.
System of record: MySQL holds every content type, page, setting and relationship, and only the CMS talks to it. Alex OS keeps derived data (chunk embeddings in PostgreSQL + pgvector) that can be rebuilt from the CMS at any time, so the two databases never compete over what's true. Description verified 27 September 2026.
How a page actually gets built
1. Author
Content is authored or updated in the CMS — a page, a project, a note, a piece of evidence. That write lands in MySQL, and that row is the fact.
2. Index
The CMS tells Alex OS that content changed. Alex OS re-reads it over the internal API and re-embeds only the chunks whose content hash changed, into its own PostgreSQL + pgvector store.
3. Reason
Alex OS reasons over the content graph — relationships, journeys, and what's relevant right now — and decides what to surface.
4. Render
The frontend renders it live: the journey rail, the sections and the assistant's answer are all generated from that output, not hand-built pages.
Why it's built this way
Most personal sites are static — a fixed set of pages the owner has to manually keep in sync. Alex OS is built so the site can reorganize itself around what actually matters: new work gets connected automatically, journeys stay current, and the assistant can answer questions grounded in real content instead of a canned script.
See it in action
Head back and pick a journey — Work, Thinking, or Expertise.