<?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: Robert McCullock</title>
    <description>The latest articles on DEV Community by Robert McCullock (@designdelightstudio_8bf7e).</description>
    <link>https://dev.to/designdelightstudio_8bf7e</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%2F3936395%2F9fa7f797-ad11-4370-ad09-73f6430c200e.png</url>
      <title>DEV Community: Robert McCullock</title>
      <link>https://dev.to/designdelightstudio_8bf7e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/designdelightstudio_8bf7e"/>
    <language>en</language>
    <item>
      <title>How I built a 12-section Shopify page using only AI agents (and a Cowork audit)</title>
      <dc:creator>Robert McCullock</dc:creator>
      <pubDate>Sun, 17 May 2026 14:19:49 +0000</pubDate>
      <link>https://dev.to/designdelightstudio_8bf7e/how-i-built-a-12-section-shopify-page-using-only-ai-agents-and-a-cowork-audit-410e</link>
      <guid>https://dev.to/designdelightstudio_8bf7e/how-i-built-a-12-section-shopify-page-using-only-ai-agents-and-a-cowork-audit-410e</guid>
      <description>&lt;p&gt;I'm a solo founder running a Shopify Basic store at ddsboston.com. Last week I shipped a 12-section hub page — the DDS Vibe Academy — without writing a single line of code, uploading a single file, or clicking "save" in the theme editor.&lt;/p&gt;

&lt;p&gt;Here's how the pipeline works.&lt;/p&gt;

&lt;h3&gt;
  
  
  The architecture
&lt;/h3&gt;

&lt;p&gt;The academy hub lives at &lt;code&gt;/pages/dds-vibe-academy&lt;/code&gt;. It uses Shopify's OS 2.0 JSON template system: one &lt;code&gt;page.dds-vibe-academy.json&lt;/code&gt; file that registers 13 sections in a specific order.&lt;/p&gt;

&lt;p&gt;The page has a tab navigation pattern. A sticky nav bar controls 8 content tabs — What's New, Curriculum, Evolution, Archive, Blog Feed, Useful Links, Manifesto, and FAQ. Each tab is a separate Liquid section with its own CSS scope, its own JavaScript, and its own structured data.&lt;/p&gt;

&lt;h3&gt;
  
  
  The build chain
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Claude Opus 4.7&lt;/strong&gt; (Anthropic) authored every section file. 12 Liquid sections + 1 JSON template. Approximately 6,400 lines of code across ~500 KB.&lt;/p&gt;

&lt;p&gt;Each section follows a strict scoping pattern:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CSS namespace: &lt;code&gt;dva-[section-abbreviation]__&lt;/code&gt; (e.g., &lt;code&gt;dva-cm__&lt;/code&gt; for curriculum, &lt;code&gt;dva-fq__&lt;/code&gt; for FAQ)&lt;/li&gt;
&lt;li&gt;All CSS is scoped under &lt;code&gt;#{{ section_id }}&lt;/code&gt; using Liquid's section ID&lt;/li&gt;
&lt;li&gt;All colors use &lt;code&gt;oklch()&lt;/code&gt; — the perceptually uniform color space with baseline browser support since 2024&lt;/li&gt;
&lt;li&gt;DDS palette tokens defined per-section as CSS custom properties&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Google Antigravity&lt;/strong&gt; deployed every file to Shopify through the Shopify MCP (Model Context Protocol). Antigravity runs Claude Opus 4.6 as its agent model inside Google's agentic IDE. The deploy flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read the local &lt;code&gt;.liquid&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Push to Shopify's theme asset API via MCP&lt;/li&gt;
&lt;li&gt;Repeat for all 14 files (12 sections + 1 template + 1 OG image)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No CLI. No Shopify admin. No manual steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cowork&lt;/strong&gt; (Anthropic) ran an autonomous browser audit after the initial deploy. It navigated every tab, checked every link, resized viewports, and produced a findings report. Results: 30 broken URLs identified, a z-index collision on the sticky navigation, and 3 schema corrections needed. All fixes were applied in a second deploy cycle — again, by AI agents, not by hand.&lt;/p&gt;

&lt;h3&gt;
  
  
  What the page does
&lt;/h3&gt;

&lt;p&gt;The curriculum tab renders a 38-node SVG constellation map with anchor-positioned popover tooltips. Each node is a class. Each ring is a curriculum stage (Foundation → Development → Application → Mastery). Below 960px, it collapses into &lt;code&gt;&amp;lt;details&amp;gt;&lt;/code&gt; accordions with horizontal card scroll.&lt;/p&gt;

&lt;p&gt;The FAQ tab has 14 entries with &lt;code&gt;FAQPage&lt;/code&gt; JSON-LD schema, &lt;code&gt;&amp;lt;details&amp;gt;/&amp;lt;summary&amp;gt;&lt;/code&gt; native accordion with &lt;code&gt;interpolate-size: allow-keywords&lt;/code&gt; for smooth height animation, and a debounced search filter.&lt;/p&gt;

&lt;p&gt;The Useful Links tab catalogs 93 verified external tools across 12 categories with multi-select filter chips, container queries for responsive grid, and View Transitions API on filter changes.&lt;/p&gt;

&lt;p&gt;There's a Build Manifest section between the hero and tab nav that serves as a deployment receipt — it names every AI agent, what each one did, and includes &lt;code&gt;CreativeWork&lt;/code&gt; structured data for AI search visibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  The methodology
&lt;/h3&gt;

&lt;p&gt;I call it DDS Vibe Coding. Five pillars:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Constraint-first design&lt;/strong&gt; — define what the system should do; the model figures out how&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Progressive disclosure&lt;/strong&gt; — ship the simplest version, add complexity only when earned&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic rails&lt;/strong&gt; — CSS scoping, naming conventions, and schema rules that prevent drift&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context hygiene&lt;/strong&gt; — keep the model's context window clean; one section per conversation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sovereign fallback&lt;/strong&gt; — every workflow must have a path that doesn't depend on someone else's uptime&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What I learned
&lt;/h3&gt;

&lt;p&gt;The biggest surprise: the audit step matters more than the authoring step. Claude 4.7 wrote clean code. But Cowork found things no human code review would catch — like 30 broken URLs that had accumulated across classes over months, and a z-index collision between the sticky nav and anchor-positioned popovers.&lt;/p&gt;

&lt;p&gt;The second surprise: the deploy pipeline is the leverage point. Once you have Shopify MCP as a write channel, the bottleneck shifts entirely to design decisions. The agents can ship faster than I can decide what to ship.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try it
&lt;/h3&gt;

&lt;p&gt;The academy is free, no signup: &lt;a href="https://ddsboston.com/pages/dds-vibe-academy?utm_source=devto&amp;amp;utm_medium=crosspost&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;https://ddsboston.com/pages/dds-vibe-academy?utm_source=devto&amp;amp;utm_medium=crosspost&amp;amp;utm_campaign=launch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;31 classes. 93 curated tool links. 14 FAQ entries. Updated Monday-Friday via a sister blog. All built by AI agents under architectural direction.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>nocode</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
