diff --git a/images/README.md b/images/README.md
new file mode 100644
index 0000000..1a2a9e5
--- /dev/null
+++ b/images/README.md
@@ -0,0 +1,55 @@
+# Architecture Diagrams
+
+This folder contains visual representations of the studio einszwovier platform architecture.
+
+## Files
+
+### `architecture.png`
+
+High-resolution PNG diagram showing the complete platform architecture including:
+
+- **Web Platform** - Landing page, About page, Cost calculator
+- **Services** - BookStack, Open WebUI, JupyterHub, Forgejo, Element Web, Portainer
+- **Backend** - Synapse Matrix server, Ollama LLM engine, MariaDB database
+- **Educational Resources** - Drone programming, Git repositories, Documentation
+- **Storage** - Persistent data for all services
+- **Infrastructure** - Watchtower auto-updates, Docker network
+
+**Specifications:**
+- Resolution: 2400x1600 pixels
+- Format: PNG with transparent background
+- Size: ~242 KB
+- Generated from: `architecture.mmd`
+
+### `architecture.mmd`
+
+Source Mermaid diagram file. This is the plain-text definition used to generate the PNG.
+
+## Regenerating the Diagram
+
+To regenerate the PNG from the Mermaid source:
+
+```bash
+# Install mermaid-cli if needed
+npm install -g @mermaid-js/mermaid-cli
+
+# Generate PNG
+mmdc -i images/architecture.mmd -o images/architecture.png -w 2400 -H 1600 -b transparent
+```
+
+## Usage
+
+The PNG is embedded in the main [README.md](../README.md) file under the "Architecture" section. It provides a visual overview for developers, contributors, and users to understand how all services interconnect.
+
+## Updating
+
+When the architecture changes:
+
+1. Update the Mermaid diagram in [README.md](../README.md)
+2. Copy the updated diagram to `architecture.mmd`
+3. Regenerate the PNG using the command above
+4. Commit both files to git
+
+---
+
+**Maintained by studio einszwovier**
diff --git a/images/architecture.mmd b/images/architecture.mmd
new file mode 100644
index 0000000..c1646e3
--- /dev/null
+++ b/images/architecture.mmd
@@ -0,0 +1,79 @@
+graph TB
+ subgraph "studio einszwovier Web Platform"
+ LP[đ Landing Page
Port 80]
+ About[âšī¸ About Page
/about]
+ CostCalc[đ° Cost Calculator
/cost]
+
+ LP --> About
+ LP --> CostCalc
+ end
+
+ subgraph "Services Accessible from Landing Page"
+ BookStack[đ BookStack
Port 6875
Wissenssammlung]
+ OpenWebUI[đ¤ Open WebUI
Port 8080
LLM Chatbot]
+ JupyterHub[đ JupyterHub
Port 8001
Python Notebooks]
+ Forgejo[đĻ Forgejo
Port 3003
Git Server]
+ ElementWeb[đŦ Element Web
Port 8082
Matrix Chat]
+ Portainer[đŗ Portainer
Port 9000
Admin Panel]
+
+ LP -.->|Link| BookStack
+ LP -.->|Link| OpenWebUI
+ LP -.->|Link| JupyterHub
+ LP -.->|Link| Forgejo
+ LP -.->|Link| ElementWeb
+ LP -.->|Link| Portainer
+ end
+
+ subgraph "Backend Services"
+ Synapse[đ¨ Synapse
Port 8008
Matrix Server]
+ Ollama[đŽ Ollama
Port 11434
LLM Engine]
+ MariaDB[(đž MariaDB
BookStack DB)]
+
+ ElementWeb --> Synapse
+ OpenWebUI --> Ollama
+ BookStack --> MariaDB
+ CostCalc --> Synapse
+ end
+
+ subgraph "Educational Resources"
+ Notebooks[đ Drone Programming
djitellopy Package]
+ GitRepos[đĻ Code Repositories
Project Source]
+ Knowledge[đ Documentation
Guides & Tutorials]
+
+ JupyterHub --> Notebooks
+ Forgejo --> GitRepos
+ BookStack --> Knowledge
+ end
+
+ subgraph "Persistent Storage"
+ PDFUploads[đ PDF Files
data/uploads/]
+ CoursesCSV[đ Courses CSV
data/courses.csv]
+ MatrixData[(đī¸ Matrix Data
matrix/data/)]
+ JupyterVols[(đž Jupyter Volumes
User Workspaces)]
+ ForgejoData[(đ Forgejo Data
forgejo/data/)]
+
+ CostCalc --> PDFUploads
+ About --> CoursesCSV
+ Synapse --> MatrixData
+ JupyterHub --> JupyterVols
+ Forgejo --> ForgejoData
+ end
+
+ subgraph "Infrastructure"
+ Watchtower[đ Watchtower
Auto-Updates
Every 24h]
+ Network[đ einszwovier_network
Docker Network]
+ end
+
+ classDef webapp fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
+ classDef service fill:#fff3e0,stroke:#f57c00,stroke-width:2px
+ classDef backend fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
+ classDef storage fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
+ classDef edu fill:#fce4ec,stroke:#c2185b,stroke-width:2px
+ classDef infra fill:#fafafa,stroke:#616161,stroke-width:2px
+
+ class LP,About,CostCalc webapp
+ class BookStack,OpenWebUI,JupyterHub,Forgejo,ElementWeb,Portainer service
+ class Synapse,Ollama,MariaDB backend
+ class PDFUploads,CoursesCSV,MatrixData,JupyterVols,ForgejoData storage
+ class Notebooks,GitRepos,Knowledge edu
+ class Watchtower,Network infra
diff --git a/images/architecture.png b/images/architecture.png
new file mode 100644
index 0000000..8b3d9c4
Binary files /dev/null and b/images/architecture.png differ