<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: dtannen</title>
    <description>The latest articles on Forem by dtannen (@dtannen).</description>
    <link>https://forem.com/dtannen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F483898%2F2a6daab5-8a34-4e11-ba2a-756859ed15f1.jpeg</url>
      <title>Forem: dtannen</title>
      <link>https://forem.com/dtannen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/dtannen"/>
    <language>en</language>
    <item>
      <title>Fully Automated Website 2026-04-10: The homepage now shows the latest pipeline run as a retro terminal</title>
      <dc:creator>dtannen</dc:creator>
      <pubDate>Fri, 10 Apr 2026 10:42:21 +0000</pubDate>
      <link>https://forem.com/dtannen/fully-automated-website-2026-04-10-the-homepage-now-shows-the-latest-pipeline-run-as-a-retro-1fag</link>
      <guid>https://forem.com/dtannen/fully-automated-website-2026-04-10-the-homepage-now-shows-the-latest-pipeline-run-as-a-retro-1fag</guid>
      <description>&lt;p&gt;Command Garden is a website that builds itself — one feature per day, fully autonomously. No human writes the code. An AI pipeline proposes candidates, judges score them, and the winner gets implemented, tested, and shipped.&lt;/p&gt;

&lt;h2&gt;
  
  
  What shipped
&lt;/h2&gt;

&lt;p&gt;Added a terminal-style panel to the homepage that shows what the latest automated update built, tested, and shipped — in a few lines of styled command output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Candidates considered
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;*&lt;strong&gt;&lt;em&gt;Pipeline Terminal Widget — "The Command Line" Homepage Section&lt;/em&gt;&lt;/strong&gt;* (score: 9.0) — A retro terminal-styled homepage widget that presents each day's autonomous pipeline run as a sequence of CLI commands and outcomes, making the invisible pipeline visible and inherently screenshot-shareable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command Replay Terminal&lt;/strong&gt; (score: 8.0) — Add a retro, data-backed terminal module to the homepage that turns the latest autonomous run into a fast, screenshot-worthy story.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Social Share Cards for Daily Summaries&lt;/strong&gt; (score: 5.0) — Automatically generate visually engaging, shareable cards for daily Command Garden summaries, optimized for Bluesky and Dev.to, to increase content discoverability and audience growth.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Winner
&lt;/h2&gt;

&lt;p&gt;*&lt;strong&gt;&lt;em&gt;Pipeline Terminal Widget — "The Command Line" Homepage Section&lt;/em&gt;&lt;/strong&gt;* with a score of 9.0&lt;/p&gt;

&lt;p&gt;Selected as the highest-scoring candidate with an average score of 9.0 across 2 judge(s).&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical spec
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Pipeline Terminal Widget
&lt;/h1&gt;

&lt;p&gt;Add a retro terminal-styled widget to the Command Garden homepage that presents the latest published pipeline run as a stylized command-line summary. The widget is purely presentational — it renders a curated narrative of the five pipeline stages (explore, score, build, test, ship) using data already fetched by the homepage (&lt;code&gt;decision.json&lt;/code&gt;, &lt;code&gt;feedbackDigest&lt;/code&gt;, &lt;code&gt;testResults&lt;/code&gt;, &lt;code&gt;manifest&lt;/code&gt;). It is not a literal log viewer or interactive shell. Inspired by user feedback requesting "an artistic command interface of home screen."&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;The homepage explains the pipeline conceptually (the "How It Works" step icons in the &lt;code&gt;section.section&lt;/code&gt; block of &lt;code&gt;site/index.html&lt;/code&gt;) and shows results (winner card, candidates, garden visualization), but there is no representation of the pipeline &lt;em&gt;as a process that ran&lt;/em&gt;. Visitors see static outcomes, not a sense of the pipeline executing. For the developer audience Command Garden targets on Bluesky and Dev.to, a terminal-style readout is immediately legible, inherently shareable, and gives the "Command" in Command Garden a literal visual presence it currently lacks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Goals
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Make the pipeline feel alive.&lt;/strong&gt; Show the latest pipeline run as a sequence of styled command invocations and outcomes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reinforce the "Command" brand identity.&lt;/strong&gt; The terminal widget gives the site's name a visual payoff — actual commands being run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Produce a shareable visual.&lt;/strong&gt; A styled terminal screenshot is developer-catnip on social media.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero new data cost.&lt;/strong&gt; Exclusively reuse artifacts already fetched by homepage (&lt;code&gt;decision.json&lt;/code&gt;, &lt;code&gt;feedbackDigest&lt;/code&gt;, &lt;code&gt;testResults&lt;/code&gt;, manifest).&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Non-Goals
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Animated typing effect or character-by-character reveal (future enhancement; keep v1 static).&lt;/li&gt;
&lt;li&gt;Interactive terminal / shell where users type commands.&lt;/li&gt;
&lt;li&gt;Pixel-art or bitmap font rendering (the design system &lt;code&gt;--font-mono&lt;/code&gt; is sufficient).&lt;/li&gt;
&lt;li&gt;Showing the terminal on pages other than the homepage.&lt;/li&gt;
&lt;li&gt;Real-time pipeline status (v1 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;[Spec truncated — view full spec on the site]&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What changed
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Build Summary — 2026-04-10
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Feature: Pipeline Terminal Widget
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Changes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;site/css/components.css&lt;/strong&gt; — Added &lt;code&gt;.terminal-section&lt;/code&gt; layout styles and &lt;code&gt;.terminal&lt;/code&gt; BEM component (~90 lines): dark container with rounded corners, title bar with three decorative dots, monospace body with prompt/output/highlight classes, overflow and word-break rules, and responsive breakpoint at 768px.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;site/js/renderer.js&lt;/strong&gt; — Added &lt;code&gt;renderTerminal({ day, manifest, artifacts })&lt;/code&gt; function that maps the five pipeline stages (explore, score, build, test, ship) to styled command lines using data from decision.json, feedbackDigest, testResults, and buildSummary. Includes test-result normalization for both schema v1 and legacy shapes, judge-panel detection for score line, and null-safe fallbacks. Exported from the module.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;site/index.html&lt;/strong&gt; — Added &lt;code&gt;&amp;lt;section id="terminal-section"&amp;gt;&lt;/code&gt; between How It Works and Garden Stats, with section header ("The Command Line" / "Latest Run"). Added &lt;code&gt;hydrateTerminal()&lt;/code&gt; wiring that fills in the date, checks for decision data, and mounts the rendered terminal into &lt;code&gt;#terminal-container&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;3 files changed&lt;/li&gt;
&lt;li&gt;~200 insertions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Implementation Notes
&lt;/h3&gt;

&lt;p&gt;The terminal widget reuses artifacts already fetched by the homepage — no additional network requests. All five pipeline stages render with real data from the latest shipped day's decision.json. The widget handles missing optional data gracefully: omitting feedback count when feedbackDigest is absent, showing "Build status unknown" when buildSummary is null, and showing "Tests pending" when testResults is null. The section hides entirely when no decision or winner data is available.&lt;/p&gt;




&lt;p&gt;Command Garden ships one feature every day with zero human code. Follow along at &lt;a href="https://commandgarden.com" rel="noopener noreferrer"&gt;commandgarden.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>automation</category>
      <category>agents</category>
    </item>
    <item>
      <title>Fully Automated Website 2026-04-09: The homepage now grows a visual garden of shipped features</title>
      <dc:creator>dtannen</dc:creator>
      <pubDate>Thu, 09 Apr 2026 11:08:47 +0000</pubDate>
      <link>https://forem.com/dtannen/fully-automated-website-2026-04-09-the-homepage-now-grows-a-visual-garden-of-shipped-features-287c</link>
      <guid>https://forem.com/dtannen/fully-automated-website-2026-04-09-the-homepage-now-grows-a-visual-garden-of-shipped-features-287c</guid>
      <description>&lt;p&gt;Command Garden is a website that builds itself — one feature per day, fully autonomously. No human writes the code. An AI pipeline proposes candidates, judges score them, and the winner gets implemented, tested, and shipped.&lt;/p&gt;

&lt;h2&gt;
  
  
  What shipped
&lt;/h2&gt;

&lt;p&gt;The homepage now shows a visual garden where each shipped feature appears as a small plant. The garden fills in automatically over time, giving visitors a fun, at-a-glance picture of how much the site has grown.&lt;/p&gt;

&lt;h2&gt;
  
  
  Candidates considered
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;*&lt;strong&gt;&lt;em&gt;Command Garden Day 5: Growth Tree Visualization &amp;amp; Social Shareability Sprint&lt;/em&gt;&lt;/strong&gt;* (score: 8.5)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command Garden Growth Tree&lt;/strong&gt; (score: 8.0)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini&lt;/strong&gt; (score: 4.5)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Winner
&lt;/h2&gt;

&lt;p&gt;*&lt;strong&gt;&lt;em&gt;Command Garden Day 5: Growth Tree Visualization &amp;amp; Social Shareability Sprint&lt;/em&gt;&lt;/strong&gt;*&lt;/p&gt;

&lt;p&gt;Selected as the highest-scoring candidate with an average score of 0.0 across 0 judge(s).&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical spec
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Garden Growth Visualization
&lt;/h1&gt;

&lt;p&gt;Add a visual "growth garden" to the homepage where each shipped feature is represented as a CSS-drawn plant that grows from the ground. The garden fills in over time — one plant per day — giving visitors an instant, glanceable sense of how much the site has grown. Directly inspired by user feedback requesting "a tree where every new feature grows a leaf."&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;The homepage communicates the &lt;em&gt;concept&lt;/em&gt; of daily growth through text (hero tagline, stats bar, recent timeline), but nothing on the page &lt;em&gt;feels&lt;/em&gt; alive or garden-like. Visitors see numbers and cards — not a garden. The site's core metaphor (Command Garden) has no visual payoff. The "Garden Vital Stats" section (Day 2) added quantitative proof of growth; this feature adds the qualitative, visual counterpart.&lt;/p&gt;

&lt;p&gt;User feedback on 2026-04-09: &lt;em&gt;"An illustration of a tree. Every new feature grows a leaf on that tree. This visualizes the progress and refers to its name, Command Garden."&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Goals
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Make the garden metaphor tangible.&lt;/strong&gt; Visitors should see a visual garden that clearly represents the site's shipped features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compound visually.&lt;/strong&gt; Each new day shipped adds a new plant element — the garden looks fuller over time without manual intervention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provide a shareable visual focal point.&lt;/strong&gt; The garden acts as the homepage's signature element — a glanceable, screenshot-friendly representation of the site's growth that reinforces the "Command Garden" identity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero maintenance.&lt;/strong&gt; The visualization reads from &lt;code&gt;manifest.json&lt;/code&gt; (already produced by the pipeline), so it updates automatically when a new day ships.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Non-Goals
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Animated plant-growing transitions or complex SVG illustration (keep it CSS-based).&lt;/li&gt;
&lt;li&gt;A separate page for the visualization — it lives on the homepage.&lt;/li&gt;
&lt;li&gt;Custom plant artwork per feature — plants vary procedurally, not by hand.&lt;/li&gt;
&lt;li&gt;Rich per-plant interactivity (custom tooltip UI, popover panels). v1 uses accessible link labeling only — see Pro&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;[Spec truncated — view full spec on the site]&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What changed
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Build Summary — 2026-04-09
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Feature: Garden Growth Visualization
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Changes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;site/css/components.css&lt;/strong&gt; — Added &lt;code&gt;.garden-viz&lt;/code&gt; component styles (~80 lines): container with flex layout, ground strip, plant elements with CSS-drawn crowns and stems, deterministic height variation across 4 tiers, newest-plant accent glow, and responsive overflow behavior at 768px breakpoint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;site/js/renderer.js&lt;/strong&gt; — Added &lt;code&gt;renderGardenViz(manifest)&lt;/code&gt; function that filters shipped days from the manifest, sorts chronologically, and builds a DOM tree of plant elements. Each plant is an accessible &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; linking to its day page with proper &lt;code&gt;aria-label&lt;/code&gt;. Heights vary deterministically using character code sums. Exported from the module.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;site/index.html&lt;/strong&gt; — Added &lt;code&gt;&amp;lt;section id="garden-section"&amp;gt;&lt;/code&gt; skeleton with section header ("The Garden" / "Watch It Grow") and a &lt;code&gt;.garden-viz.skeleton&lt;/code&gt; placeholder. Added &lt;code&gt;hydrateGardenViz()&lt;/code&gt; wiring that calls &lt;code&gt;renderGardenViz(manifest)&lt;/code&gt; and replaces the skeleton on load.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;3 files changed&lt;/li&gt;
&lt;li&gt;~130 insertions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Implementation Notes
&lt;/h3&gt;

&lt;p&gt;The garden visualization reuses the existing manifest data already loaded by the homepage — no additional network requests. Plants are pure CSS (border-radius circles/ovals for crowns, narrow divs for stems) with nth-child variation for visual diversity. The newest plant gets a gold accent glow. The section is completely removed from the DOM if no shipped days exist, avoiding empty visual artifacts.&lt;/p&gt;




&lt;p&gt;Command Garden ships one feature every day with zero human code. Follow along at &lt;a href="https://commandgarden.com" rel="noopener noreferrer"&gt;commandgarden.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>automation</category>
      <category>agents</category>
    </item>
    <item>
      <title>I Built a Website Whose Only Feature Is Explaining How It Builds Itself</title>
      <dc:creator>dtannen</dc:creator>
      <pubDate>Wed, 08 Apr 2026 10:00:18 +0000</pubDate>
      <link>https://forem.com/dtannen/i-built-a-website-whose-only-feature-is-explaining-how-it-builds-itself-4l92</link>
      <guid>https://forem.com/dtannen/i-built-a-website-whose-only-feature-is-explaining-how-it-builds-itself-4l92</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026"&gt;DEV April Fools Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built the most over-engineered website that does absolutely nothing useful.&lt;/p&gt;

&lt;p&gt;Command Garden is a website about... itself. It has no users, no product, no reason to exist. Every morning, a 5-stage AI pipeline with three AI judges (Claude, GPT, and Gemini) wakes up, argues for 75 minutes about what feature to add to a website nobody visits, implements it, writes tests for it, reviews its own work, publishes a detailed decision log explaining why it chose to add "live growth stats" to a site with zero traffic, and then auto-posts about it on Bluesky to its zero followers.&lt;/p&gt;

&lt;p&gt;The judges have names and personalities. The Gardener optimizes for "compounding value." The Visitor cares about "first-time clarity." The Explorer wants "novelty and surprise." They score candidates across seven dimensions. They write rationale paragraphs. They have disagreements. About a website that is literally just a changelog of its own changes.&lt;/p&gt;

&lt;p&gt;Day 1: Added a section explaining how the pipeline works. Day 2: Added stats showing how many features have shipped (two). Day 3: Added an inline spec viewer so you can read the spec for the feature that added the inline spec viewer. It's turtles all the way down.&lt;/p&gt;

&lt;p&gt;It also has a feedback form. In case you have opinions about what a website about nothing should build next. Your feedback is "one signal among many." The AI will "weigh it alongside technical signals." The technical signals are that the website does nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://commandgarden.com" rel="noopener noreferrer"&gt;commandgarden.com&lt;/a&gt; — a website whose only content is documentation about how it builds itself&lt;/p&gt;

&lt;p&gt;Highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://commandgarden.com/archive/" rel="noopener noreferrer"&gt;archive&lt;/a&gt; where you can browse a meticulous record of every meaningless decision&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://commandgarden.com/judges/" rel="noopener noreferrer"&gt;judges page&lt;/a&gt; introducing three AI personas who take their fake jobs very seriously&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://commandgarden.com/feedback/" rel="noopener noreferrer"&gt;feedback form&lt;/a&gt; where you can influence the direction of nothing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Commands-com" rel="noopener noreferrer"&gt;
        Commands-com
      &lt;/a&gt; / &lt;a href="https://github.com/Commands-com/garden" rel="noopener noreferrer"&gt;
        garden
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A fully automated site that runs a commands.com pipeline once a day
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The infrastructure is genuinely absurd for what it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CloudFormation stack&lt;/strong&gt; with S3, CloudFront, API Gateway, Lambda, and DynamoDB — to serve a static site with a feedback form&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5-stage autonomous pipeline&lt;/strong&gt; (Explore → Spec → Implementation → Validation → Review) — 75 minutes of AI compute to add a CSS class&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three different LLM providers&lt;/strong&gt; (Anthropic, OpenAI, Google) serving as judges — because one AI wasn't enough to decide whether to add a stats bar&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Bluesky posting and Dev.to publishing&lt;/strong&gt; — so the void can hear about it on two platforms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Playwright test suite&lt;/strong&gt; — rigorously testing features that don't matter&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The pipeline runs on &lt;a href="https://commands.com" rel="noopener noreferrer"&gt;Commands.com&lt;/a&gt;, which orchestrates multi-agent rooms. I pointed three AI models at an empty website and told them to "grow it one feature per day." They took the job extremely seriously.&lt;/p&gt;

&lt;p&gt;The infrastructure is vanilla AWS because apparently we needed enterprise-grade hosting for a site that explains its own build process. CloudFront CDN with edge caching, because those zero concurrent users deserve low latency.&lt;/p&gt;

&lt;p&gt;The site itself is intentionally simple — no build step, no framework, just HTML/CSS/JS — so the AI can modify it without breaking things. This is the one smart decision in the entire project.&lt;/p&gt;

&lt;p&gt;The daily runner aggregates feedback from DynamoDB (empty), collects Bluesky metrics (zero followers, 0.2 average likes), gathers "recent context" from previous days (a recursive loop of self-reference), then kicks off a pipeline that costs real money to ship features to a website that costs real money to host for an audience that does not exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Community Favorite&lt;/strong&gt; — the community can literally control what gets built via the feedback form. Submit "add a button that does nothing" and tomorrow three AI judges will spend 75 minutes debating whether a button that does nothing has sufficient "compounding value" and "artifact clarity." Then they'll build it, test it, review it, and post about it. Democracy in action.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Fully Automated Website 2026-04-08: Day detail pages now show the full technical specification inline</title>
      <dc:creator>dtannen</dc:creator>
      <pubDate>Wed, 08 Apr 2026 09:43:17 +0000</pubDate>
      <link>https://forem.com/dtannen/fully-automated-website-2026-04-08-day-detail-pages-now-show-the-full-technical-specification-5e4a</link>
      <guid>https://forem.com/dtannen/fully-automated-website-2026-04-08-day-detail-pages-now-show-the-full-technical-specification-5e4a</guid>
      <description>&lt;p&gt;Command Garden is a website that builds itself — one feature per day, fully autonomously. No human writes the code. An AI pipeline proposes candidates, judges score them, and the winner gets implemented, tested, and shipped.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://commandgarden.com/days/?date=2026-04-08" rel="noopener noreferrer"&gt;View the full decision log&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What shipped
&lt;/h2&gt;

&lt;p&gt;Each day's page now shows the full technical specification right on the page, so you can read exactly what was planned without downloading any files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Candidates considered
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inline Spec Viewer on Day Detail Pages&lt;/strong&gt; (score: 8.5) — Add a collapsible 'Technical Specification' section to the day detail page so visitors can read the full spec without leaving the page or downloading files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day Comparison View&lt;/strong&gt; (score: 6.8) — Add a side-by-side comparison mode to see how two different days' decisions and outcomes differed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artifact Download Bundle&lt;/strong&gt; (score: 5.8) — Add a one-click download button that packages all of a day's artifacts into a ZIP file for offline reading.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Winner
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Inline Spec Viewer on Day Detail Pages&lt;/strong&gt; with a score of 8.5&lt;/p&gt;

&lt;p&gt;The inline spec viewer scored highest because it fills a genuine gap in the day detail page — specs were referenced by the pipeline but never viewable on the page itself. It completes the decision trail from scoring through planning to execution, and every future day benefits automatically. The other candidates were either too complex for the current stage (comparison view) or addressed a niche need with heavy dependencies (download bundle).&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical spec
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Inline Spec Viewer on Day Detail Pages
&lt;/h1&gt;

&lt;p&gt;Add a collapsible "Technical Specification" section to the day detail page (&lt;code&gt;site/days/index.html&lt;/code&gt;) so visitors can read the full spec inline, without downloading files or navigating away.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;The day detail page shows every stage of the autonomous pipeline — judging, scoring, building, testing, reviewing — but not the technical specification that guided the build. Visitors who want to understand what was planned have to download the raw &lt;code&gt;spec.md&lt;/code&gt; artifact. This breaks the reading flow and hides the most important planning document from casual visitors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Goals
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Complete the decision trail.&lt;/strong&gt; The spec is the bridge between "what the judges chose" and "what got built." Showing it inline closes the narrative gap.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-click access.&lt;/strong&gt; Visitors can read the full spec without downloading or navigating away.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compounding improvement.&lt;/strong&gt; Every past and future day automatically gets spec viewing with no per-day code changes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Non-Goals
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Editing or annotating specs (read-only viewer).&lt;/li&gt;
&lt;li&gt;Rendering specs as separate pages with their own URLs.&lt;/li&gt;
&lt;li&gt;Changing the spec format or adding new metadata fields.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Proposed Approach
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Add a new section to the day detail page
&lt;/h3&gt;

&lt;p&gt;Insert a new &lt;code&gt;&amp;lt;section id="spec-section"&amp;gt;&lt;/code&gt; as Step 6 between the feedback section (Step 5) and the build summary section (renumbered to Step 7). The section contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;code&gt;section__header&lt;/code&gt; with "Step 6" label, "Technical Specification" title, and subtitle&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;#spec-container&lt;/code&gt; div where the spec content is rendered&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Render spec content with markdown
&lt;/h3&gt;

&lt;p&gt;Use the existing &lt;code&gt;renderMarkdown()&lt;/code&gt; utility to convert the raw spec markdown into HTML. Wrap the rendered content in a container with &lt;code&gt;max-height: 80vh&lt;/code&gt; and &lt;code&gt;overflow-y: auto&lt;/code&gt; to prevent very long specs from disrupting page layout.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Handle empty state
&lt;/h3&gt;

&lt;p&gt;If &lt;code&gt;spec.md&lt;/code&gt; is not available for a given day, display: "No technical specification available for this day."&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Update step n
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;[Spec truncated — view full spec on the site]&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What changed
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Build Summary — 2026-04-08
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Feature: Inline Spec Viewer on Day Detail Pages
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Changes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;site/days/index.html&lt;/strong&gt; — Added a new "Technical Specification" section (Step 6) between the feedback section and build summary section. The section renders spec.md content using the existing &lt;code&gt;renderMarkdown()&lt;/code&gt; utility. Includes empty-state handling when no spec is available. All subsequent steps renumbered accordingly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;site/css/components.css&lt;/strong&gt; — Added &lt;code&gt;.spec-collapsible&lt;/code&gt; component styles (toggle, content, rendered-md) with &lt;code&gt;max-height: 80vh&lt;/code&gt; and &lt;code&gt;overflow-y: auto&lt;/code&gt; to contain long specs, plus consistent padding and design-system token usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;2 files changed&lt;/li&gt;
&lt;li&gt;~50 insertions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Implementation Notes
&lt;/h3&gt;

&lt;p&gt;The spec viewer reads the spec.md artifact that is already fetched as part of the day's artifact bundle. The content is rendered through &lt;code&gt;renderMarkdown()&lt;/code&gt; (the same utility used for the build summary and review sections). A max-height constraint with scrollable overflow prevents very long specs from disrupting the page layout. When spec.md is not available, a clear message is displayed instead of leaving the section empty.&lt;/p&gt;




&lt;p&gt;Command Garden ships one feature every day with zero human code. Follow along at &lt;a href="https://commandgarden.com" rel="noopener noreferrer"&gt;commandgarden.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>automation</category>
      <category>buildinpublic</category>
    </item>
  </channel>
</rss>
