Claude Code was built for software engineers. It’s a CLI tool that helps developers write, debug, and ship code faster with AI assistance.
I’m using it to run the entire marketing operation for Psychedelic Water.
Not the coding parts—though there’s some of that. I’m using it to create content, coordinate campaigns, maintain brand voice across six channels, and build a self-improving system where analytics feed back into strategy. The file system is the CMS. Markdown files are the content. CLAUDE.md files are the strategy documents. And AI is the executor.
Here’s why I think this is where growth engineering is headed.
The Problem with Marketing Tools
Modern marketing requires presence everywhere: Instagram, Twitter, TikTok, YouTube, email, blog, third-party publications. Each platform has its own dashboard, its own analytics, its own content format.
The result is fragmentation. Your Instagram strategy lives in one place. Your email campaigns live in another. Your content calendar is a spreadsheet that’s always out of date. And maintaining consistent brand voice across all of it? Good luck.
Most teams solve this by hiring more people. A social media manager, a content writer, an email specialist, someone to pull analytics together. Each person becomes the keeper of their channel, and coordination happens through meetings, Slack, and hope.
What if the coordination layer was built into the system itself?
The File System as Marketing Infrastructure
At Psychedelic Water, I’ve built a folder structure that serves as the entire marketing operation:
psychedelic-marketing/
├── CLAUDE.md # High-level strategy and goals
├── products/ # Product info, photography, specs
├── brand/ # Voice guidelines, visual assets
├── channels/
│ ├── instagram/
│ │ ├── CLAUDE.md # Instagram-specific strategy
│ │ ├── scripts/ # Posting, analytics, scheduling
│ │ └── drafts/ # Content in progress
│ ├── twitter/
│ │ ├── CLAUDE.md
│ │ ├── scripts/
│ │ └── drafts/
│ ├── email/
│ │ ├── CLAUDE.md
│ │ ├── scripts/ # Klaviyo integration
│ │ └── campaigns/
│ ├── blog/
│ │ ├── CLAUDE.md
│ │ ├── scripts/ # Shopify publishing, analytics
│ │ └── posts/
│ └── ...
├── analytics/ # Performance data, reports
└── campaigns/ # Cross-channel coordinated efforts
└── 2026-01-functional-focus/
├── strategy.md
├── instagram/
├── twitter/
└── email/
Every channel has its own CLAUDE.md file that defines the strategy for that platform. When I work in the Instagram folder, Claude understands the Instagram strategy. When I work in email, it understands the email strategy. The context is built into the structure.
Strategy as Code
Here’s what a channel-level CLAUDE.md might contain:
- Audience: Who we’re talking to on this platform
- Voice adjustments: How brand voice adapts for this channel
- Content types: What performs well here
- Posting cadence: Frequency and timing
- Scripts available: What automation exists
- Success metrics: What we’re optimizing for
When I ask Claude to draft an Instagram caption, it doesn’t start from zero. It reads the strategy document, understands the voice, knows what’s worked before. The strategic context is embedded in the file system.
The top-level CLAUDE.md contains the overarching marketing goals—what we’re focusing on this month, what story we’re telling, what campaigns are active. This creates consistency. If the focus is on functional ingredients this month, every channel knows it. Instagram, Twitter, email, blog—they’re all telling the same story in their own way.
Scripts as Integrations
Each channel folder contains scripts that handle the platform-specific work:
Blog scripts connect to Shopify to publish content and pull performance data. I can ask Claude to check how last week’s post performed relative to historical averages, and it runs the analytics script, interprets the results, and incorporates that into future recommendations.
Email scripts integrate with Klaviyo to schedule campaigns and pull engagement metrics.
Image generation scripts use AI to create visuals that match the brand aesthetic, then resize them appropriately for each platform.
These aren’t complex applications. They’re small, focused tools—often just a few dozen lines of Python—that bridge Claude Code to the platforms where content lives. The AI orchestrates them; the scripts do the platform-specific work.
Content as Dated Folders
Every piece of content lives in a dated folder:
channels/instagram/drafts/
├── 2026-01-20-functional-energy/
│ ├── caption.md
│ ├── image.jpg
│ ├── notes.md
│ └── analytics.json
├── 2026-01-21-behind-the-scenes/
│ ├── caption.md
│ ├── images/
│ └── notes.md
This creates a natural archive. I can look back at what we posted, see what performed, understand what we were thinking at the time. When analytics data comes in, it gets saved alongside the content. The system learns from itself.
Cross-Channel Coordination
The hardest part of multi-channel marketing is consistency. You want the same story told everywhere, adapted for each platform’s format and audience.
The campaigns/ folder solves this. A campaign is a coordinated effort across channels:
campaigns/2026-01-functional-focus/
├── strategy.md # The core message and goals
├── instagram/ # Instagram-specific executions
├── twitter/ # Twitter-specific executions
├── email/ # Email-specific executions
└── results.md # What happened
The strategy.md defines what we’re saying and why. Each channel folder contains the platform-specific adaptations. Claude understands that these are connected—if I’m working on the Instagram content, it knows the overarching strategy and can ensure the messaging aligns.
If someone misses the Instagram post, they might catch it on Twitter. If they’re not on social media, they’ll get the email. The story reaches them somewhere.
Why This Works
Claude Code wasn’t designed for this. It was built to help developers write software. But the core patterns translate perfectly:
File system as memory: Just like code lives in files, content lives in files. The structure is the organization.
Markdown as content: Developers write documentation in markdown. Marketers can write content in markdown. It’s portable, version-controlled, and AI-friendly.
Scripts as integrations: Instead of API calls to deploy code, scripts make API calls to publish content or pull analytics.
AI as executor: Instead of writing code, the AI writes content, following the strategic guidelines embedded in the folder structure.
The gap between “AI coding assistant” and “AI marketing operations platform” is smaller than it looks.
What’s Missing
This system isn’t fully automated. Some platforms don’t have good APIs for posting. Some content needs human review before it goes out. The analytics integrations are still being built.
But the bones are there. The organizational structure exists. The strategy is embedded. The feedback loops are forming.
Right now, I work alongside Claude in this system—reviewing drafts, approving posts, adjusting strategy based on what the data says. But the system is designed to become more autonomous over time. As the AI gets better, as the integrations get more complete, the human involvement shifts from execution to oversight.
The Future of Growth Engineering
I think this is where marketing operations is headed. Not more dashboards. Not more point solutions. Not more people managing more tools.
Instead: AI-native systems where the file system is the source of truth, strategy is embedded in the structure, and AI handles the execution across every channel.
Claude Code is a code editor. But it turns out that growth engineering looks a lot like software engineering—just with different outputs. Instead of shipping code, you’re shipping content. Instead of deploying to production, you’re publishing to platforms. Instead of monitoring systems, you’re tracking engagement.
The tools built for one translate surprisingly well to the other.
I’m building this system for Psychedelic Water, where I’m President and Co-Founder. If you’re thinking about AI-native marketing operations, I’d be interested to hear what you’re building.
