# How Dhawal Shah cut his own marketing work from about 25 hours a week to roughly 5 with three Claude Code projects

Dhawal Shah runs 2Stallions, a digital marketing agency, and says Claude Code now runs his own marketing end to end. That covers his website, research, analytics, newsletter, social channels and video pipeline. He splits the work into three Claude Code projects: site, ad platforms and video. The projects share voice rules, platform connections and the task boards they all report into. Reviewer agents check drafts before anything publishes. Final copy and anything that spends money still go through him. He puts the stack at roughly US$260 per month. By his own conservative estimate, recurring work dropped from about 25 hours a week to about 5.

| | |
|---|---|
| **Who** | Dhawal Shah, runs 2Stallions, a digital marketing agency across Singapore, Malaysia, Indonesia and India (not the Class Central founder of the same name). X: [@djshah](https://x.com/djshah) |
| **Problem** | Moving his marketing from chatting with AI to delegating whole jobs to it, across every channel, from one working surface |
| **Stack** | Claude Code (Claude Max plan, 20x tier), CLAUDE.md files, commands, skills, subagents, live platform connections, Astro, Vercel, git, DataForSEO, his own Search Console connection, GA4, Tally, Notion, Kit, Resend, Google Sheets, ActiveCampaign (read-only, agency side), Postiz on Railway, HeyGen, Google Cloud Run, Google Ads, Meta, LinkedIn and TikTok ad platforms |
| **Confidence** | Medium (first-person; time savings are his estimates, not measured; affiliate links and a training offer on the page) |
| **Last verified** | 2026-10-24 |

## The problem
He frames the gap as chatting versus delegating: "Nearly everyone chats; few delegate." Before this setup, each channel had its own tools. Research meant keyword tools in tabs, a spreadsheet of candidates and briefs assembled by copy-paste. He describes it as "a day of collation before a minute of judgement." Analytics meant GA4 and Search Console in separate tabs and a Sheets dashboard built by hand each week. The weekly cross-platform ad report took four to six hours of exporting and reconciling. He wanted one surface where the same session that writes the copy also pulls the data and ships the change.

## The blueprint (as he describes it)
1. **Split by function, not one big project.** He runs three separate Claude Code projects:
   - The site project: website, content, SEO, analytics conventions, newsletter machinery and the task boards.
   - The ad platform project: the ad platform connections, their deployment scripts and credentials handling.
   - The video project: the short-video pipeline, from script to avatar render to captions.

   His rule: "a function earns its own project when it has distinct SOPs, distinct guardrails and distinct platforms."
2. **Share the common layer, keep the rest local.** Some things are shared across every project:
   - Voice and style rules, including a banned-words list.
   - His own context, held at user level.
   - Platform connections (MCP servers), registered once.
   - The task boards.

   Each project keeps its own platform conventions and tracking rules, publish checklists and safety rails.
3. **Use task boards as the glue.** All three projects read and update the same boards. A session that finishes an article in the site project updates the board a video-project session reads the next morning. Strategy documents such as the content calendar and channel plans live in Notion, which is also connected. A session can read the plan its task came from.
4. **Run the website from the terminal.** The site is Astro deployed on Vercel. Every article is a markdown file in a git repository. Claude Code writes the article, edits the layout, builds locally to check nothing broke, and ships the deploy. The same session wires the analytics events and places the newsletter CTA, because tracking conventions sit in the same CLAUDE.md as the writing rules. Before anything publishes, reviewer agents run over the draft in parallel:
   - One scores the writing against a quality checklist.
   - One validates on-page SEO: title, headings, links, schema.
   - One checks that edits stay on-brand and in his voice.
5. **Do research in one session.** SERP and keyword pulls come through DataForSEO. Site performance comes through his own Search Console connection, and competitor teardowns through a crawler. Survey data comes through Tally. For the brief of this article, one session pulled live SERPs and crawled 17 competing pages. It extracted their heading structures, mapped each keyword to one page and wrote the outline.
6. **Ask analytics a plain-English question.** Every Monday he asks: "What changed across my site, search and newsletter last week?" He gets search movements, traffic anomalies and new subscribers with their sources in one answer. A self-refreshing dashboard pulls the week's data on a schedule and writes its own recommendations.
7. **Drive the newsletter from the same sessions.** The newsletter runs on Kit. Forms, tags and gated downloads are set up in the same sessions that write the articles. Resend handles transactional email. A Google Sheets asset vault indexes every downloadable asset he has shared. His CLAUDE.md also holds a rule from a past failure: a new Kit form ID must be added to the allowlist in the same commit as the CTA that uses it.
8. **Encode social as a skill.** LinkedIn is his primary channel. Every article ships with a content pack of multiple posts, angles and image prompts, drafted in Claude Code and scheduled through Postiz. An article-to-LinkedIn-pack skill encodes the procedure:
   - Read the article.
   - Extract the angles.
   - Draft each post in his voice against the banned-words list.
   - Propose image prompts.
   - Format for LinkedIn.

   Short-form video scripts derive from published articles. An avatar service renders the presenter, and a composition tool adds captions and overlays. Posting is still manual: "I press the button."
9. **Keep paid on the agency side.** His personal site runs no paid advertising. The ad platform connections live on the 2Stallions side, where they were run on the agency's own accounts first. Client accounts came only after a privacy and platform-ToS review. One conversation returns a scorecard of spend, results and cost per result across Google Ads, Meta, LinkedIn and TikTok, with anomalies flagged. In early 2026 they forked open-source servers for five platforms and deployed them on Google Cloud Run. They have since moved Meta and TikTok to the platforms' official servers. They stay on their own version for Google Ads, because the official one is still read-only.
10. **Keep humans on the decisions.** He follows three standing rules:
    - Final copy gets a human voice pass.
    - Budget changes and anything that spends money get human confirmation.
    - What the stack may touch on client accounts is set by the privacy and ToS review.

## Stated results
- **Time, by his estimate.** Counted conservatively, recurring work dropped "from about 25 hours to about 5: at least 20 hours a week back." He calls the per-task table "my honest estimate."
  - Weekly cross-platform ad report (agency): 4 to 6 hours down to about 30 minutes, of which 20 are spent on analysis.
  - Article brief with research: 15 to 40 hours down to 2 to 4 hours.
  - Writing and shipping an article: 16 to 48 hours down to 1 to 3 hours.
  - LinkedIn content pack: three to four hours down to about 30 minutes, mostly review.
  - Weekly analytics review: two to three hours of assembly down to minutes.
  - New lead magnet: half a day down to under an hour.
- **Where the freed time went.** More articles shipped, a video channel that did not exist before, and research that gets done instead of deferred.
- **Speed.** He says the site was built with AI tools in four days. He says a research week became an afternoon.
- **Costs, from his invoices.** Roughly US$260 per month all-in:
  - Claude Max (20x tier): US$200.
  - Self-hosted servers on Google Cloud Run: under US$5 per month per service.
  - DataForSEO: US$10 to 20.
  - Postiz on Railway: US$5.
  - HeyGen: about US$30.
  - Kit, Resend and Vercel: free or near-free tiers.
- **Access time.** Full API access across five ad platforms took 18 days. TikTok alone required a 7-day manual review.

## Caveats
- The page opens with an affiliate disclosure: "If you buy through these links, I earn a small commission, but that's not why I wrote this."
- He runs an agency and sells "Claude Code training for marketing teams." The article includes "reach out" calls to action. A starter kit (CLAUDE.md templates, a stack map, a workflows checklist) is delivered when you subscribe to his newsletter.
- The time figures are his own estimates, not measurements. He also says the first version of each workflow took longer to build than doing the task once by hand.
- The setup was piloted on his own accounts. His agency team is "next." Client ad accounts came in only after a privacy and platform-ToS review. The ad screenshot comes from an anonymised client account with figures pixelated.
- He names five ad platforms in the setup story, but the scorecard lists only four: Google Ads, Meta, LinkedIn and TikTok.
- The HubSpot, CMO Survey, Anthropic and DataForSEO statistics in the article are third-party figures, not results from his stack.
- He lists what broke, one failure per channel:
  - A build-time bug stamped wrong publish dates across ten articles.
  - An invalid config key silently broke deployments for days. He says both were shipped under his review: "the review was the failure."
  - A target flagged as low-competition has not ranked. He now checks the live top ten before targeting anything.
  - The Kit allowlist gap meant subscribers were tagged but never received the asset, with no error.
  - A GTM setup could have double-counted conversions. A human caught it.
  - The first LinkedIn pack ignored platform formatting.
  - The assistant's memory once went stale on an already-scheduled pack.
  - On the agency side, the model gave a wrong creative-fatigue explanation when the real cause was a budget reallocation.
- Handles: X @djshah (verified 2026-10-24: linked from dhawalshah.net; X bio links dhawalshah.net and says Co-founder @2Stallions). LinkedIn dhawaljshah (linked from dhawalshah.net). TikTok @dhawalshahofficial (linked from dhawalshah.net). YouTube @DhawalShah (linked from dhawalshah.net). No Bluesky, Threads, Instagram or Mastodon verified.

## Sources
- https://www.dhawalshah.net/article/claude-code-for-marketing/ (primary: first-person article on his own site)

---
*Want agents like these working your distribution? [See the Agent Stack Teardown](/agent-stack-teardown). Get new teardowns weekly: [subscribe](/subscribe) (double opt-in).*