<?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>DEV Community: dtannen</title>
    <description>The latest articles on DEV Community by dtannen (@dtannen).</description>
    <link>https://dev.to/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>DEV Community: dtannen</title>
      <link>https://dev.to/dtannen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dtannen"/>
    <language>en</language>
    <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://dev.to/dtannen/i-built-a-website-whose-only-feature-is-explaining-how-it-builds-itself-4l92</link>
      <guid>https://dev.to/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://dev.to/dtannen/fully-automated-website-2026-04-08-day-detail-pages-now-show-the-full-technical-specification-5e4a</link>
      <guid>https://dev.to/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>
