← All publications

Technical notes · 2026-10-17

VI Industries site architecture: a Python static generator

Why the site is built statically: minimal VPS load, simple maintenance, reproducible builds.

Russian version of this article: Архитектура сайта VI Industries: статический генератор на Python

Архитектурная задача для VI Industries формулируется просто: публичный сайт, который должен пережить долгосрочное развитие экосистемы, при этом работать на VPS с ограниченными ресурсами (1 vCPU, около 1.6 GiB RAM, без Docker).

Почему статический

Что именно «генерируется»

  1. Страница проектов строится из src/content/projects/projects.json — включая детальные страницы каждого проекта.
  2. Страница робной карты — из src/content/roadmap.json.
  3. Страница состояния — счётчики считаются при сборке из тех же файлов; «Нет данных» показывается честно, когда источник пуст.
  4. База знаний — Markdown со структурированной шапкой (front-matter). Добавление статьи не требует правки HTML.

Что осознанно не делалось

Вывод: статический генератор на Python (Jinja2 + Markdown) — минимальная работающая архитектура, которую можно развивать без переделки.

Related project