diff --git a/Architecture.md b/Architecture.md
new file mode 100644
index 0000000..fbeaca7
--- /dev/null
+++ b/Architecture.md
@@ -0,0 +1,238 @@
+# Архитектура проекта
+
+## Структура директорий
+
+```
+VA.ASPEKTER/
+├── z51-pug-builder/ # Основное приложение (название историческое)
+│ ├── vite.config.js # ⭐ ВЕСЬ backend API (~1600 строк, Vite middleware)
+│ ├── src/
+│ │ ├── App.svelte # ⭐ ВЕСЬ frontend UI (~6500 строк, монолит)
+│ │ ├── app.css # Стили + темы (light/dark)
+│ │ ├── main.js # Entry point Svelte
+│ │ └── lib/
+│ │ ├── api.js # HTTP-клиент ко всем API эндпоинтам
+│ │ ├── parsing.js # Парсинг Pug: блоки, миксины, секции, поля
+│ │ ├── spellcheck.js # Извлечение текста из HTML, инъекция меток ошибок
+│ │ └── utils.js # Утилиты
+│ ├── public/
+│ │ ├── Block.pug # Исходные шаблоны всех блоков
+│ │ ├── favicon.jpg
+│ │ └── login-bg/ # Фоны страницы логина (5 изображений)
+│ ├── data/ # ⚠️ НЕ в git — пользовательские данные
+│ │ ├── _system/ # users.json, sessions.json
+│ │ ├── config.json # Yonote token, URLs
+│ │ ├── feed-cache.json # Кэш YML-фида на диске
+│ │ ├── render-cache.json # Кэш рендера PUG→HTML
+│ │ ├── uploads/ # Загруженные картинки
+│ │ └── vipavenue/ # Данные проекта VipAvenue
+│ │ ├── settings.json # Все настройки (FTP, фид, gender paths, блоки)
+│ │ ├── presets.json # Пресеты блоков
+│ │ ├── notes.json # Индекс заметок
+│ │ ├── stats.json # Статистика времени сборки
+│ │ ├── block.pug # Кастомный шаблон блоков
+│ │ ├── drafts/{userId}.json # Черновики по юзерам
+│ │ └── letters/{userId}/ # Письма по юзерам
+│ │ ├── _index.json # Индекс писем
+│ │ ├── {id}.json # Данные письма (блоки, тема, дата)
+│ │ └── {id}.history.json # История изменений (макс 20 снэпшотов)
+│ ├── Dockerfile
+│ └── package.json
+│
+├── email-gen/ # Pug-шаблоны писем (репозиторий коллег)
+│ └── emails/
+│ ├── includes/
+│ │ └── mixins.pug # Общие миксины (preheader, spacerLine, buttons и т.д.)
+│ ├── layout/
+│ │ └── layout.pug # Базовый layout письма
+│ └── vipavenue/
+│ ├── parts/
+│ │ ├── header/ # header-woman.pug, header-man.pug
+│ │ └── footer/ # footer-woman.pug, footer-man.pug
+│ └── letters/
+│ └── let.pug # ⚠️ Генерируется автоматически при рендере
+│
+├── deploy/
+│ ├── email-gen-api/
+│ │ ├── server.js # Микросервис рендера (~200 строк)
+│ │ ├── Dockerfile
+│ │ └── entrypoint.sh
+│ ├── nginx/ # Референсный конфиг nginx
+│ └── scripts/
+│ └── update-email-gen.sh # Скрипт обновления email-gen
+│
+├── docker-compose.yml # DEV окружение (с HMR)
+└── docker-compose.prod.yml # PROD окружение (образы)
+```
+
+## Цепочка рендера (подробно)
+
+```
+1. Пользователь собирает блоки в конструкторе
+ └── assembledBlocks[] → rebuildOutput() → outputPug (строка с PUG-кодом)
+
+2. Нажимает 🔄 или Ctrl+G
+ └── renderEmailPreview() → POST /api/project/vipavenue/render-email
+ Body: { projectSlug: 'vipavenue', pug: outputPug, preheader: '...', gender: 'female' }
+
+3. Backend (vite.config.js):
+ a. Экранирует #{} и !{} в pug (защита от инъекций)
+ b. Экранирует переносы строк в preheader
+ c. Проверяет render cache (MD5 от slug+pug+gender+genderPaths)
+ d. Если cache miss:
+ - Записывает pug в email-gen/emails/vipavenue/letters/let.pug
+ - Генерирует html.pug с gender-specific header/footer
+ - Отправляет POST к email-gen-api:8787/render
+ - Получает скомпилированный HTML
+ e. Параллельно загружает YML-фид (если настроен feedUrl)
+ f. Обрабатывает Mindbox-теги (подставляет данные из фида)
+ g. Применяет nowrap (висячие предлоги)
+ h. Возвращает: { html, previewHtml, unavailableProducts, feedSyncedAt }
+
+4. email-gen-api (server.js):
+ a. npm install если нет node_modules
+ b. Записывает let.pug
+ c. Генерирует html.pug с путями header/footer по гендеру
+ d. Компилирует через email-templates (Pug → HTML с инлайном CSS)
+ e. Заменяет #MAILRU_PREHEADER_TAG# →
+ f. Возвращает HTML
+
+5. Frontend получает HTML:
+ a. Показывает в