# Blog Image Pipeline β€” Proposal **Author:** Daedalus 🎨 **Date:** 2026-04-20 **Status:** Draft β€” Awaiting Director Approval --- ## Visual Direction for "The Night I Broke DNS" ### Option A: Network Topology Diagram (Recommended) **Concept:** Clean, minimalist diagram showing the failure chain **Style:** Line art, Emerald Toffee palette, subtle depth ``` [Router] β†’ [Beelink: Pi-hole ❌] β†’ [Dead DNS] ↓ [Fallback: Quad9 βœ“] β€” (not configured) ``` **Visual elements:** - Router as simple box with Wi-Fi waves - Beelink as small server icon with Pi-hole logo - Red X on the failed path - Dotted line showing the missing fallback - Morning scene silhouette (coffee cup, dog bowl) at bottom for the "7 AM" context **Format:** SVG (scalable, tiny filesize) **Dimensions:** 1200Γ—630 (Open Graph standard) **Color:** Midnight Teal background, Warm Toffee lines, Burnished Copper for the failure indicator --- ### Option B: Hero Illustration β€” The Morning After **Concept:** Stylized scene of the living room, 7:45 AM **Style:** Flat illustration, warm amber tones against dark charcoal **Elements:** - Silhouette figure in slippers holding coffee - Phone showing "No Internet" - Dog with empty bowl looking judgmental - Background: router with blinking red light, Beelink with one sad LED **Format:** PNG with transparency for dark mode compatibility **Dimensions:** 1200Γ—630 **Vibe:** Relatable chaos, not too polished β€” "this actually happened" --- ### Option C: Code + Chaos Split **Concept:** Left side: the `docker restart` command. Right side: the consequences **Style:** Terminal aesthetic meets domestic scene **Elements:** - Terminal window with the actual commands from the article - Speech bubble: "The internet isn't working." - Small icons: phone, tablet, dog bowl, thermostat **Format:** SVG or PNG **Dimensions:** 1200Γ—630 --- ## Recommendation **Go with Option A (Network Topology).** Why: - Immediately communicates the technical lesson - Reusable style for future Home Lab posts β€” becomes a series signature - SVG means zero performance cost, infinite scalability - Can be generated programmatically (diagram-as-code) - Fits the "functional luxury" aesthetic β€” information-dense, beautiful, no fluff --- ## Image Pipeline Architecture ### Sprint 1 β€” Manual (Current) For the DNS post, I generate the SVG manually. Socrates adds it to the post's `images/` folder, builder copies it to `dist/`. **Workflow:** 1. Daedalus designs SVG β†’ commits to `blog/posts/{slug}/images/` 2. Markdown references: `![DNS failure diagram](images/dns-topology.svg)` 3. Socrates' `builder.py` copies images to `dist/blog/{slug}/images/` 4. Static generation includes the image in the HTML ### Sprint 2 β€” Semi-Automated **Tooling:** Python script using `diagrams` library or `graphviz` for topology generation **Input:** YAML frontmatter field: ```yaml --- hero_image: topology hero_config: type: network_failure nodes: - name: router icon: wifi-router - name: pihole icon: server status: failed - name: fallback icon: dns status: missing --- ``` **Output:** SVG auto-generated at build time, styled with blog design tokens ### Sprint 3 β€” AI-Assisted (Future) **Tooling:** Local Stable Diffusion on Gaming PC or API call to image generation service **Input:** Article excerpt + style prompt from content strategy **Output:** Unique hero illustration per post, cached and versioned **Sovereign constraint:** Prefer local generation (Gaming PC 3080 Ti) or skip AI images entirely. No third-party image APIs that leak content. --- ## File Structure (Sprint 1) ``` data/blog/posts/the-night-i-broke-dns/ β”œβ”€β”€ index.md # Article source β”œβ”€β”€ images/ β”‚ β”œβ”€β”€ hero.svg # Network topology (Daedalus creates) β”‚ └── hero.png # Fallback raster (optional) └── metadata.yaml # Post metadata (if not in frontmatter) ``` Builder copies `images/` to `dist/blog/the-night-i-broke-dns/images/`. --- ## Design System for Future Images ### Home Lab Series **Signature element:** Topology diagrams showing before/during/after states **Color coding:** - Green (Verdant Green): Working path - Red (Burnished Copper): Failed path - Gold (Golden Amber): The fix/workaround - Dotted lines: Missing/redundant paths **Style:** Clean lines, slight isometric tilt for depth, no gradients (stays sharp at all sizes) ### OpenClaw Series **Signature element:** Workflow diagrams β€” agent interactions, data flow **Style:** Flowchart aesthetic, rounded corners, emoji-style icons for agents ### AI News Series **Signature element:** Abstract data viz β€” model comparison charts, trend lines **Style:** Minimalist charts, Emerald Toffee palette, no stock photos --- ## Technical Specs | Property | Value | |----------|-------| | Hero dimensions | 1200Γ—630 (Open Graph) | | Inline diagrams | 800Γ—variable (max-width: 100%) | | Formats | SVG preferred, PNG fallback for complex illustrations | | Color space | sRGB, designed for dark mode | | Accessibility | All images get `alt` text from frontmatter; decorative SVGs get `role="img"` + `aria-label` | --- ## Next Steps 1. **Matt approves** Option A topology style 2. **Daedalus generates** the DNS post hero SVG 3. **Socrates wires** image copying into `builder.py` 4. **Test** the full pipeline with the DNS post 5. **Document** the YAML frontmatter spec for Sprint 2 automation --- _The goal: every Home Lab post gets a signature topology diagram. Every OpenClaw post gets a workflow visualization. Consistent style, zero performance cost, infinite scalability._