case study

I run delivery operations at Tiller, a B2B marketing agency for Software Brands.

About thirty members of the Tiller Digital team posed outdoors in front of autumn trees and a peaked wooden building, standing in two rows with a third row kneeling at the front. Chase is fourth from the left in the kneeling row.

Here's how things worked when I showed up, and how they work now.

  1. Web & Software Engineering

    Then: Development was slow. We weren't using AI to write code.

    Now: I introduced Claude Code. Developers now use it to build websites, apps, and software.

    An illustration of a Claude Code session: a developer asks for a pricing page built from a Figma frame; Claude Code reads the frame, writes the page, adds a Playwright visual check, and runs it, with 6 tests passing. A sample session, not real output.
  2. Standard Operating Procedures (SOPs)

    Then: Tiller had 0 SOPs when I arrived.

    Now: Tiller now has 86 SOPs, all in one standard format, with training videos.

    SOP DatabaseA screen recording scrolling through Tiller's SOP Database in Notion, with every group open: Brand, CRO, Content & SEO, Operations, Paid Media, Sales Enablement, Strategic Discovery, Technical Performance and Web, each listing its SOPs (Brand Audit, KPI Mapping, Audience Research, Core Web Vitals Audit, Web Launch Process and others) with their services and last-edited dates.

    What the SOPs cover

    • Brand
    • Web
    • Content & SEO
    • Paid Media
    • CRO
    • Strategic Discovery
    • Sales Enablement
    • Operations
  3. Utilization & Capacity

    Then: Tiller had no view of utilization, capacity or resourcing. These are reports a marketing agency's health depends on.

    Now: I led the build of a web app that connects our project management tools, timelines & Google Calendar, so we can finally see that data.

    An illustration of the resourcing view in the utilization app, with sample data rather than real Tiller figures.

    Team utilization, this week

    88%

    Overbooked, next 6 weeks

    3 people

    5 weeks over 100%

    Open capacity, next 6 weeks

    163 hours

    Room to take on work

    Sample allocation, booked hours as a percentage of capacity, by person and week starting
    Allocation by personThis weekNow (Nov 2)Nov 9Nov 16Nov 23Nov 30Dec 7
    Brand designer82%, 30 of 36 hours91%, 33 of 36 hours96%, 35 of 36 hours88%, 32 of 36 hours74%, 27 of 36 hours60%, 22 of 36 hours
    Web designer104%, 37 of 36 hours112%, 40 of 36 hours98%, 35 of 36 hours90%, 32 of 36 hours85%, 31 of 36 hours70%, 25 of 36 hours
    Developer95%, 34 of 36 hours99%, 36 of 36 hours188%, 30 of 16 hours, 20 hours time off from Google Calendar97%, 35 of 36 hours92%, 33 of 36 hours86%, 31 of 36 hours
    Paid media118%, 42 of 36 hours109%, 39 of 36 hours96%, 35 of 36 hours92%, 33 of 36 hours88%, 32 of 36 hours80%, 29 of 36 hours
    CRO analyst45%, 16 of 36 hours52%, 19 of 36 hours64%, 23 of 36 hours70%, 25 of 36 hours78%, 28 of 36 hours72%, 26 of 36 hours
  4. Processes & workflows

    Then: Every build was scoped from scratch, as if it were the first one, which made complex work slow to sell.

    Now: I helped redesign the offering into tiered, productized services. Sales can now sell complex work without rescoping every build.

  5. Quality Assurance (QA)

    Then: Several people checked sites by hand with no standard QA process. Project managers usually ended up carrying the work.

    Now: Automated checks compare the built site with the design team's real Figma designs before and after launch.

    What I implemented

    1. 01 Design

      Figma

      The design team creates the screens we check against

    2. 02 Build

      Claude Code

      Developers use Claude Code to write the code

    3. 03 Ship

      GitHub

      We push the code to GitHub

    4. 04 Test

      Playwright

      GitHub Actions runs Playwright to compare the site with Figma

      If a check fails, it posts to Slack

    5. 05 Launch

      Live site

      Playwright checks the site again after launch

    Visual regressionA visual regression report for a sign-up page. The header reads 3.92% of 641,240 compared pixels, with 49% of the frame excluded, and gives the verdict “Sits 20px lower than the frame.” Below it, three panels side by side: the Figma reference, the app capture with its right-hand image area marked as excluded, and a diff mask in which every form element appears twice in red, offset vertically.
    The suite comparing Brand Rover's sign-up page with its Figma frame. The built page sits 20px lower than the design, so 3.92% of the compared pixels differ.
  6. Client reporting

    Then: Client reports were fragmented in a mix of Google Sheets and Data Studio.

    Now: Replaced Google Data Studio with interactive Claude dashboards.

    An illustration of an interactive client marketing dashboard built with Claude, with sample data for an anonymous client.

    Qualified leads

    427+18%

    Cost per lead

    $151-6%

    Pipeline influenced

    $5.8M+21%

    vs previous 90 days · Sample data

    Qualified leads

    per week

    Leads by channel

    • Organic search162
    • Paid search115
    • LinkedIn77
    • Referral43
    • Direct30
    Qualified leads, 30 days, sample data
    PeriodLeads
    Oct 34
    Oct 46
    Oct 57
    Oct 66
    Oct 75
    Oct 82
    Oct 92
    Oct 105
    Oct 117
    Oct 128
    Oct 137
    Oct 146
    Oct 153
    Oct 162
    Oct 176
    Oct 188
    Oct 197
    Oct 209
    Oct 217
    Oct 223
    Oct 232
    Oct 247
    Oct 259
    Oct 268
    Oct 2710
    Oct 288
    Oct 294
    Oct 303
    Oct 318
    Nov 110
    Qualified leads, 90 days, sample data
    PeriodLeads
    Week of Aug 327
    Week of Aug 1029
    Week of Aug 1728
    Week of Aug 2431
    Week of Aug 3130
    Week of Sep 733
    Week of Sep 1432
    Week of Sep 2134
    Week of Sep 2833
    Week of Oct 536
    Week of Oct 1235
    Week of Oct 1938
    Week of Oct 2641
    Qualified leads, 12 months, sample data
    PeriodLeads
    Nov 202562
    Dec 202568
    Jan 202671
    Feb 202679
    Mar 202684
    Apr 202688
    May 202697
    Jun 2026104
    Jul 2026112
    Aug 2026118
    Sep 2026131
    Oct 2026142
  7. SEO & AI search

    Then: Tiller's own site barely showed up on Google for its main services.

    Now: My SEO strategy took it into Google's top 5 for its main keywords and into Google AI Overviews.

    Search ConsoleGoogle Search Console performance report, web search, filtered to queries matching “b2b web design agency”, last 16 months: 10 clicks, 7.42K impressions and an average position of 15.6. The daily average position line starts in late 2025 and climbs steadily toward the top of the chart through 2026. Drawn over it: a marker at mid-December 2025 labelled “My SEO strategy goes live”, and a red ranking trend line, the position line smoothed, flat until that marker and rising from it to the top right.
    Google AI OverviewGoogle results for “b2b web design agency”. The AI Overview's “Typical Investment Tiers” section, from Foundational at $20,000 to $40,000 up to Enterprise at $150,000 to $250,000 or more, is attributed to Tiller Digital, and the source panel beside it lists Tiller's “Web design cost: A definitive pricing guide”. The other sources are pixelated.
    Google's AI Overview for “b2b web design agency” takes its pricing tiers from Tiller's pricing guide and credits Tiller by name.
    Google AI OverviewGoogle results for “b2b software branding agency”. The AI Overview's “Top Agencies for B2B Software & SaaS” list includes Tiller, described as building “brand identity and demand generation specifically for B2B SaaS brands to drive pipeline and revenue”, and the source panel beside it cites Tiller's homepage, “Digital Marketing Agency for Ambitious B2B SaaS Brands”. The other agencies and sources are pixelated.
    Google's AI Overview for “b2b software branding agency” names Tiller among its top agencies for B2B software and SaaS, and cites Tiller's homepage.
  8. Diversification

    Then: Tiller sold services only, and worried about what AI would do to that business.

    Now: I helped Tiller create Brand Rover, a new business and product of its own.

These are the sites we shipped

  1. Visit tillerdigital.comtillerdigital.comThe Tiller Digital B2B web design page: the headline "Award-winning web design for the world's most ambitious brands" in white serif on black, above a showcase of client work and the agency's three-phase process.
  2. Visit audiense.comaudiense.comThe Audiense homepage: the serif headline "Know your audience, online, offline, and in between" on a warm off-white background, beside a photo of a woman on her phone with a "Strategy #2" forecast card, above a row of consumer brand logos.
  3. Visit brandrover.aibrandrover.aiThe brandrover.ai homepage in its dark theme: the headline "Find the places your brand wandered off" over a darkened landscape, above a Brand Issues dashboard and a node graph linking ad campaigns to creatives.

A look inside Tiller

The Tiller Digital team, about thirty people, sitting and standing on the front steps of the agency's building, a steep wooden gable with the word “tiller.” mounted above the door. Chase is second from the left in the second row from the top.
A black-and-white selfie in the Tiller office: six colleagues crowded in front of a desk with monitors, smiling, two with their arms raised and one making a peace sign, beside a table of snacks.

Here is what I took from running delivery

Patience... 😮‍💨