Tag: Vertex AI

  • Azure AI Search vs Vertex AI Search: Site Search on the Engine Behind Bing vs Google

    Most “which managed search?” articles compare feature checklists from the vendor docs. We did something more useful: we indexed the same media property’s content into both Azure AI Search and Vertex AI Search, on the free tiers, and watched what each one did with it.

    Short answer: for a content site that wants to be found and cited by AI assistants, Azure AI Search is the pick — not because the relevance is dramatically better, but because it’s the retrieval lineage that sits behind Bing and Copilot, and ~84% of our organic traffic comes from Bing. Vertex AI Search is the stronger turnkey RAG product and grounds beautifully into Gemini. Which one wins depends entirely on whose AI you’re trying to get in front of.

    This is the desk-by-desk breakdown — free-tier ceilings, setup friction, relevance, and ecosystem grounding — from the running lab on tygart.media.

    The free-tier ceilings

    The first thing that matters at our scale is what each gives you for $0, perpetually.

    How we do it

    Azure Google Cloud Verdict
    Service Azure AI Search (Free tier) Vertex AI Search
    Storage 50 MB Generous indexing quota, but query/extraction billed Azure — true perpetual free
    Indexes 3 indexes Multiple data stores Toss-up
    Documents ~10,000 hosted docs Effectively higher, but pay-as-you-go Azure for “always free” certainty
    Cost model Always free, no card pressure Free trial credits, then per-query/extraction Azure — Vertex bills as you scale
    Semantic ranking Available (limited on free) Built in, very strong Google on raw quality

    The honest read: Azure’s 50 MB / 3-index / ~10,000-document free tier is small but genuinely perpetual — it never starts billing at our volume. Vertex AI Search is more capable out of the box but its free posture is trial credits, after which queries and extractive answers meter. For a small content site, Azure’s ceiling is the one you can forget about.

    Setup friction

    How we do it

    Job Azure Google Cloud Verdict
    Get to first results Create service → index → import data source Create app → data store → point at site/GCS Google — faster to “it works”
    Crawl a website directly Indexer add-on, more wiring Website data store crawls URLs natively Google, clearly
    Schema control Fine-grained fields, analyzers, scoring profiles More opinionated, less to tune Azure for control; Google for speed
    Vector / hybrid search Native vector + hybrid (keyword+vector) Native, with built-in embeddings Toss-up; both strong

    Vertex AI Search gets you to a working search box faster — point it at a sitemap or a Cloud Storage bucket and it crawls and chunks for you. Azure AI Search makes you assemble the indexer, but in exchange you get scoring profiles, custom analyzers, and field-level control that pay off once you care about why a result ranks.

    Relevance and semantic ranking

    On raw relevance for a handful of queries against the same corpus, Vertex was slightly better out of the box — its semantic ranking and extractive answers are tuned and ready. Azure matched it once we turned on semantic ranking and tuned a scoring profile, but that’s manual work Vertex does for free.

    The asymmetry: Vertex is better at answering, Azure is better at being controllable. If you want a search box that produces clean extractive answers with zero tuning, Vertex wins. If you want to deliberately shape what ranks (and you’re optimizing content anyway), Azure rewards the effort.

    The grounding angle — whose AI is reading you

    This is the line that actually decides it for us.

    Neither Azure AI Search nor Vertex AI Search “submits your site to Bing or Gemini.” But the retrieval architecture you build on signals which ecosystem you’re fluent in. Azure AI Search is the same managed-retrieval lineage Microsoft uses to ground Copilot, and it’s the natural backend for “Bring your own data” grounding into Azure OpenAI / Copilot Studio. Vertex AI Search is the canonical retrieval layer for grounding Gemini — it’s literally the “ground with your own data” path in Google’s stack.

    So the question isn’t “which search is better.” It’s: which AI assistant do you most need to recognize and cite your content? For us, with Bing driving the overwhelming majority of organic traffic, building our retrieval inside Microsoft’s lineage and exposing structured, Copilot-groundable content is the higher-leverage bet.

    What surprised us

    • Azure’s 50 MB is smaller than it sounds — and bigger than it needs to be. Pure text content compresses; 10,000 documents of article body is more than a mid-size site has. The ceiling we’d hit first is index count (3), not storage.
    • Vertex’s “free” is the easy thing to misjudge. The trial experience is so smooth you forget it’s metered. Set a budget alert before you point it at a large crawl.
    • Hybrid (keyword + vector) search is now table stakes on both. A year ago this was Azure’s differentiator; Vertex has fully caught up.
    • Vertex crawls websites natively; Azure wants a data source. If your content lives in a bucket or a DB, Azure’s indexer is fine. If you just want to crawl tygart.media and search it, Vertex is less wiring.

    The takeaway

    These are both excellent managed search engines, and at small scale both can run at $0 — Azure perpetually, Vertex on credits. The decision isn’t about relevance deltas measured in single queries.

    Pick Azure AI Search if your strategic goal is to be retrievable and citable inside the Microsoft / Bing / Copilot ecosystem, you want a truly perpetual free tier, and you’re willing to tune scoring profiles for control. That’s us.

    Pick Vertex AI Search if you want the fastest path to a high-quality answering search box, you’re grounding into Gemini, or your content already lives in Google Cloud Storage and you want native crawl-and-chunk with zero schema work.

    If most of your readers arrive through Bing, building your retrieval layer only inside Google’s lineage is the same blind spot as watching only Google Search Console. We build on both — and lean Azure for the citation angle.

    This is part of our “Two Clouds, One Site” series — we run the same media property on both Azure and Google Cloud, on the free tiers, and report what watching both ecosystems actually teaches us. The lab lives on tygart.media; the findings publish here.

    Frequently asked questions

    Is Azure AI Search really free?
    Yes — the Free tier is perpetual, not a trial. It includes 50 MB of storage, 3 indexes, and roughly 10,000 hosted documents, and it does not start billing as long as you stay inside those limits. For a small content site that’s enough to run real site search at $0.

    What’s the difference between Azure AI Search and Vertex AI Search?
    Azure AI Search is a managed retrieval engine you assemble (index, indexer, scoring profiles) and the lineage behind Microsoft’s Copilot grounding. Vertex AI Search is Google’s more turnkey managed search and RAG product that crawls and chunks for you and grounds natively into Gemini. Azure favors control and a perpetual free tier; Vertex favors speed-to-answer and pay-as-you-go scaling.

    Which is better for getting cited by AI assistants?
    It depends on which assistant matters to you. Azure AI Search aligns with Bing and Copilot grounding; Vertex AI Search aligns with Gemini grounding. If most of your traffic and target citations come from Bing, building retrieval inside Microsoft’s lineage is the stronger bet.

    Does Vertex AI Search have a free tier?
    Vertex AI Search runs on Google Cloud free trial credits rather than a perpetual always-free tier, and after that, queries and extractive answers are billed per use. It’s easy to start for free, but set a budget alert before pointing it at a large website crawl, because metering starts once credits run out.

    Can I use Azure AI Search to ground my own AI chatbot?
    Yes. Azure AI Search is the standard “bring your own data” retrieval backend for Azure OpenAI and Copilot Studio, supporting keyword, vector, and hybrid search. You index your content, then have the model retrieve and ground its answers against your index, which keeps responses tied to your source material.

  • Gemini Enterprise Agent Platform Replaces Vertex AI

    Gemini Enterprise Agent Platform Replaces Vertex AI

    The Death of ‘Vertex AI’ and the Rise of the Gemini Enterprise Agent Platform

    For four years, Vertex AI was the “everything store” for Google Cloud’s machine learning stack. It was a sprawling, often fragmented collection of notebooks, endpoint managers, and feature stores designed for a world where data scientists spent months training models that rarely saw production. But at Google Cloud Next 2026, that era ended quietly. Vertex AI was officially retired, replaced by the Gemini Enterprise Agent Platform.

    This isn’t just a marketing exercise or a shallow rebranding of a legacy service. It is a fundamental architectural admission: the “model-centric” era of AI is over. If 2023 was about finding the best model and 2024 was about RAG (Retrieval-Augmented Generation), 2026 is about the autonomous agent. Google has shifted its entire infrastructure from a library of static endpoints to a stateful orchestration layer for agents that can think, execute, and—most importantly—correct themselves.

    The Architecture Shift: Model-Centric vs. Agent-First

    In the old Vertex AI framework, you deployed a model. You sent a prompt, you received a completion, and the transaction was over. Any complexity—looping, tool-calling, or memory—had to be built by your developers in a separate layer, usually involving fragile Python scripts or heavy frameworks like LangChain.

    The Gemini Enterprise Agent Platform flips this. With the rollout of ADK 2.0 (Agent Development Kit), the “model” is now just a component of an “agent.” In this new architecture, the platform handles the state. You no longer manage a stateless API; you manage a persistent entity with a memory buffer and a task queue.

    For agencies, this means moving away from “deploying models” and toward autonomous agent governance. If you are still billing clients for “custom GPTs” or simple RAG pipelines, you are effectively selling 2024 technology. The current standard is stateful multi-step execution where the agent can initiate its own sub-processes, query external APIs, and wait for asynchronous callbacks without the developer managing the intermediate state.

    ADK 2.0 and the Developer Workflow

    The core of this transition is ADK 2.0. Unlike its predecessor, which felt like a wrapper for REST calls, ADK 2.0 is built for local-first development. Most of our internal testing at Tygart Media now happens through the Gemini CLI, which allows operators to spin up agent environments that mirror production exactly.

    When you use the Gemini CLI to initialize a project (gemini init --agent-type=stateful), it doesn’t just create a YAML file. It provisions a “Reasoning Engine” that can handle long-running tasks. We recently tested this on a complex data migration for a logistics client. In the Vertex AI days, we would have had to write a massive script to handle 404 errors, retries, and schema mismatches. With the Gemini Enterprise Agent Platform, we deployed a “Migration Agent” that simply had the goal: “Sync these 12 databases. If a schema doesn’t match, research the correct mapping in the legacy docs and retry. Log all failures to Antigravity for human review.”

    The agent didn’t just run; it resided on the platform for three days, executing tasks, pausing when it hit rate limits, and resuming without losing its place in the sequence. This is the difference between a tool and a worker.

    Agent Studio: Low-Code Orchestration That Actually Works

    Google also introduced Agent Studio, which replaces the old Vertex AI Model Garden. While the Model Garden was a catalog, Agent Studio is a visual IDE for agentic loops. It allows systems architects to map out decision trees where the “nodes” aren’t just LLM calls, but “skills”—authenticated connections to BigQuery, Google Search, or internal ERPs.

    The key feature here is stateful multi-step logic. In previous iterations, if an agent failed at step 4 of a 10-step process, you had to restart from step 1 or build complex checkpointing logic. Agent Studio handles the checkpointing natively. For an operator, this reduces the “failure surface area.” We can now see exactly where an agent’s reasoning diverged and “hot-fix” the prompt or the tool definition mid-execution.

    The Hard Truth About Autonomous Agent Governance

    As Vertex AI is rebranded and replaced, the biggest hurdle for agencies isn’t the code—it’s the governance. When you move from “models” to “agents,” you are introducing non-deterministic actors into a client’s environment.

    We’ve seen what happens when governance is ignored. In a pilot project earlier this year, an autonomous agent tasked with “optimizing ad spend” accidentally deleted three high-performing campaigns because it interpreted “efficiency” as “cutting all costs.” This wasn’t a model failure; the model did exactly what it was told. It was a governance failure. There were no guardrails or supervisor agents to check its work.

    In the Gemini Enterprise Agent Platform, governance is a first-class citizen. You can now deploy “Supervisor Agents” that sit one level above your worker agents. These supervisors don’t perform tasks; they only audit the “Chain of Thought” (CoT) of the workers. At Tygart Media, we use tools like Claude Code to write the initial guardrail logic, then deploy it to the Gemini platform to monitor our production loops. If the worker agent’s proposed action deviates from the safety policy by more than a 0.15 variance in the embedding space, the supervisor kills the process and pings an operator.

    Pricing Shift: From Tokens to Outcomes

    One of the most disruptive changes in the May 2026 rollout is the pricing model. Google is moving away from purely token-based billing for Enterprise Agent Platform users, introducing outcome-based pricing for specific task completions.

    The old model penalized efficiency. If you spent more tokens making an agent “think” more deeply to avoid a mistake, you paid more. The new model allows you to pay per “Successful Task Completion.” This aligns Google’s incentives with the agency’s. We no longer care about the context window length as a cost factor; we care about the “Agentic Success Rate” (ASR).

    For a mid-sized agency, this simplifies the math significantly. If a client wants a support agent that handles 1,000 tickets, you can now project a flat cost per resolved ticket rather than guessing how many tokens a “difficult” customer might consume.

    A Practical Failure: Why ‘Models’ Weren’t Enough

    To understand why this change was necessary, look at our failure with “Project Orion” in late 2025. We tried to build a competitor analysis engine using Vertex AI and Gemini 1.5 Pro. We used a standard RAG setup. It worked 70% of the time. The other 30% of the time, the model would hallucinate a competitor’s pricing because it couldn’t access a gated PDF or failed to navigate a Javascript-heavy website.

    The model was “smart,” but it was “blind” and “unreliable” in a loop. It had no way to say, “I failed to read this page, let me try a different browser headers strategy.”

    Two weeks ago, we rebuilt Project Orion on the Gemini Enterprise Agent Platform using ADK 2.0. The new agent has a “retry skill.” When it hits a Javascript wall, it triggers a headless browser sub-agent. If it still fails, it searches for a cached version on the Wayback Machine. It doesn’t report back until the task is done or it has exhausted a defined set of “recovery behaviors.” Our ASR jumped from 70% to 94%. We didn’t change the model; we changed the architecture from a “static call” to an “autonomous worker.”

    What You Should Do Tomorrow

    If you are managing an AI stack, the “Vertex AI” name disappearing from your console is your signal to stop building “wrappers” and start building “systems.” Here is the tactical path forward:

    1. Audit your current ‘Models’: Identify which of your current deployments are actually just stateless prompts. These are your biggest liabilities. Plan to migrate them to the Gemini Enterprise Agent Platform to take advantage of stateful memory.
    2. Adopt a CLI-First Workflow: Stop using the web console for anything other than monitoring. Use the Gemini CLI and integrate it with Claude Code or your local IDE. The speed of iteration in ADK 2.0 is only visible when you are working in a terminal environment.
    3. Install a Governance Layer: Before you deploy your next agent, define its “Exit Criteria.” Use the new Supervisor patterns in Agent Studio to ensure no agent can execute an external API call (like send_email or update_database) without a secondary “Reasoning Audit.”
    4. Re-evaluate your Contracts: If you are billing based on “implementation hours,” you are going to get crushed as agents become easier to deploy. Move toward “Performance-Based Retainers” that mirror Google’s outcome-based pricing. If the agent solves the problem, you get paid.

    The Gemini Enterprise Agent Platform isn’t just a new tool; it’s a new operating system for business. The agencies that thrive in the next 12 months won’t be the ones with the best prompts, but the ones with the most robust, well-governed agentic loops.

  • My AI Operating Stack: Notion, Claude & Google Cloud

    My AI Operating Stack: Notion, Claude & Google Cloud

    Last refreshed: May 15, 2026

    A surveyor's tripod with copper, porcelain, and steel legs planted on rocky ground at sunrise above the clouds — representing the Notion, Claude, and Google Cloud three-legged stack
    The three-legged stack — Notion, Claude, Google Cloud — is what’s actually holding up the operation.

    I run a portfolio of businesses — restoration companies, content properties, creative ventures, a software platform, a comedy site, a few things I haven’t decided what to do with yet — on three legs. Notion. Claude. Google Cloud. That’s it. Everything else either fits inside that triangle or it doesn’t last in my stack.

    This article is the doctrine. Not “here’s a list of tools I like.” The actual operating philosophy of why this specific three-piece architecture is what holds the work up, where each leg’s job ends, and what I learned the hard way about which tools belong on the floor instead of the table.

    If you’re trying to decide what your own AI-driven operating stack should look like, what follows is what I’d tell you over coffee.

    Why three legs and not two, four, or twelve

    I tried twelve. I tried four. I lived for a while with two. Three is what’s left after everything else either failed in production, got absorbed into one of the three legs, or became overhead that didn’t pay for itself.

    The reason it’s not two is that you need a place where state lives, a place where reasoning happens, and a place where heavy compute runs. If you collapse two of those into one tool, the tool has to be excellent at both jobs and almost nothing is. If you keep them separate, each tool gets to be excellent at its actual job.

    The reason it’s not four is that every additional leg multiplies the surface area of what can break, what needs to be monitored, what needs to be paid for, what needs to be learned by every new person you bring in. Four legs sounds like it would be more stable but it isn’t. It’s more rigid. Three legs sit flat on uneven ground.

    The reason it’s not twelve is that I tried that and the cognitive cost of remembering which tool did which job was higher than the work the tools were supposed to be saving.

    Notion is the system of record

    State lives in Notion. That’s the rule. If a piece of information needs to exist tomorrow, it goes in Notion first.

    That includes the things you’d expect — clients, projects, content pipelines, scheduled tasks, the Promotion Ledger that governs which autonomous behaviors are running at what tier — and a lot of things you might not. Meeting notes go in Notion. Random ideas at 11pm go in Notion. The reasons I made a particular architectural decision six months ago go in Notion. Anything I might want Claude to read later goes in Notion.

    The reason this leg has to be Notion specifically — and not, say, a folder of markdown files, or a Google Doc, or Airtable — is structured queryability paired with human-readable rendering. Notion databases let me describe my business in shapes (a content piece is a row, a project is a row, a contact is a row) while keeping every row a real document I can read and write to like a normal page. That dual nature is rare. Most systems force you to pick between structured and prose. Notion lets the same object be both.

    The May 13, 2026 Notion Developer Platform launch made this leg even stronger. Workers, database sync, and the External Agents API mean the system of record can now do active things on its own and host outside agents (including Claude) as native collaborators. Notion stopped being a passive document store and started being a programmable control plane. That’s a big deal for this architecture and I wrote about it in my piece on the platform launch.

    Claude is the reasoning layer

    Claude does the thinking. That’s the rule on the second leg.

    Anywhere I would otherwise have to write something from scratch, decide between options, summarize a long document, generate code, audit content, or do any task that requires a brain rather than just a database query, Claude is the first thing I reach for. The work happens in Claude. The result lands in Notion.

    I want to be specific about why Claude and not “an LLM” generically. I have used the others. I have used GPT in production. I have used Gemini in production. They all work. Claude is what I picked, and the reasons aren’t religious.

    First, the writing is recognizable. Claude’s voice has a calibration to it that the others don’t quite have for the kind of work I’m doing — long-form content, operator-voice editorial, technical explainers. I can edit a Claude draft to feel like me much faster than I can edit the others.

    Second, the agentic behavior is the most stable across long sessions. Claude Managed Agents and Claude Code in particular are willing to think for a long time without losing the plot. For multi-step work that involves reading a lot of context, holding it, and acting on it across many turns, the difference is real.

    Third, the tooling around Claude — Claude Code, Cowork, the Agent SDK, MCP — is the most operator-friendly of the bunch right now. The other models will catch up. As of May 2026, Claude is the best fit for how I actually work.

    Fourth, and this matters more than people give it credit for: I am willing to bet on Anthropic the company. I am betting my operations on the leg that bears my reasoning load. Whose roadmap I’m comfortable with, whose values I find legible, whose engineering culture I trust to keep shipping the thing without breaking it underneath me — that’s a real input to the decision, not a soft preference.

    Google Cloud is the substrate

    The third leg is the heavy one. Google Cloud is where the things live that have to be reliable in a way that Notion can’t be and Claude isn’t supposed to be.

    The 27 WordPress sites I manage all live on GCP infrastructure. The knowledge-cluster-vm hosts five interconnected sites. The proxy that lets Claude talk safely to WordPress sites runs on Cloud Run. The cron jobs that fire scheduled work, the Python services that handle image pipelines, the AI Media Architect that runs autonomously — all on GCP. Anything that involves real compute, regulated data, behind-a-firewall execution, or sustained reliability lives on the third leg.

    The reason this leg has to be a real cloud and not just a laptop or a Hetzner box is that I run autonomous behaviors. Tier C autonomous behaviors run unattended, which means the substrate they run on has to be more reliable than I am. GCP gives me that. It’s also where Anthropic’s Claude is available through Vertex AI, which means there’s a path where the entire stack can run inside one cloud’s perimeter when that becomes operationally necessary.

    I picked GCP specifically over AWS or Azure for a few reasons. Vertex AI’s first-party Claude access matters to me. The GCP control surface is the one I’m fastest in. Cost-wise it’s been competitive for the workloads I run. None of those are universal — your third leg might be AWS, or Azure, or a hybrid with on-premise hardware. The doctrine isn’t “use GCP.” The doctrine is “have a real substrate that can carry the heavy work.”

    How the three legs hold each other up

    The thing that makes this an actual stack and not just three tools is the load each leg puts on the others.

    Notion holds Claude’s memory. Claude doesn’t have persistent memory across sessions in any deep way — what it remembers is what’s in the prompt and what it’s allowed to look up. Notion is where I put the things I want Claude to know tomorrow. Project briefs, brand voice docs, the Promotion Ledger, client context, my preferences. When Claude starts a session it looks at Notion. When the session is done, what mattered gets written back to Notion. The memory leg is Notion. Without it, Claude is amnesiac and has to be re-briefed every time.

    Claude does the work that Notion can’t and that GCP isn’t shaped for. Notion can hold structured data and run light automation through Workers and database sync. Notion can’t write a 2,000-word article in your voice. GCP can run a reliable cron job and host whatever you want on Cloud Run. GCP isn’t going to read your existing client notes and propose a follow-up email. The reasoning leg is Claude. Without it, you have a database and a server and no one to think.

    GCP holds the things that have to keep running when nobody is watching. Notion can’t host a WordPress site. Claude can’t run a cron job by itself. The compute leg is GCP. Without it, the autonomous behaviors that make this a system instead of a tool collection have nowhere to live.

    Each leg fails gracefully into the others. If Notion is down, GCP keeps the live workloads running and Claude can still do work in a session. If Claude is down, Notion still holds state and GCP still runs the autonomous infrastructure. If GCP is down, the websites are unreachable but the planning surface (Notion) and the reasoning surface (Claude) still let me figure out what to do about it. No single failure takes the whole operation down.

    What I tried that didn’t make the cut

    For honesty’s sake, here’s what I had in earlier versions of the stack that’s no longer there:

    Zapier and Make for orchestration. They worked. They cost real money at the volumes I was running. The May 13 Notion Developer Platform launch absorbed most of what I was using them for into native Notion functionality. What’s left I do with Cloud Run jobs.

    Multiple LLMs for “best tool for the job.” I went through a phase of routing different work to different models. The cognitive overhead of “which one for this task” was higher than any quality gain from the routing. I picked Claude and stayed.

    Custom CRMs and project management tools. Tried several. None of them did the job better than a well-structured set of Notion databases with the right templates and views. The CRM is in Notion now. The project management is in Notion. The pipeline tracking is in Notion.

    A second cloud “for redundancy.” Sounded smart, was actually overhead. If GCP goes down catastrophically I have bigger problems than my stack. Single-cloud is fine for a small operator portfolio.

    Local AI models for cost savings. The math didn’t work for me. I have a powerful workstation that can run open models, but the time cost of running them, debugging them, and maintaining them outweighed the API savings. Claude through the subscription and through Vertex when I need it is what I pay for now.

    Why this matters beyond my own operation

    I write about this not because anyone is required to copy it but because the shape of the answer — three legs, one for state, one for reasoning, one for compute — generalizes.

    If you’re a solo operator, a small agency, a content business, a service business with operational complexity, this shape works. Your specific tool choices for each leg will be different. Maybe your state lives in Airtable instead of Notion. Maybe your reasoning leg is GPT or Gemini. Maybe your substrate is AWS or Vercel or your own bare metal. The three-leg architecture survives the substitutions.

    What doesn’t survive substitutions is collapsing the legs. Putting state and reasoning in the same tool (anyone who has tried to use ChatGPT as their CRM knows what I mean) doesn’t work. Putting reasoning and compute in the same tool means you’re either compromising on reasoning to keep compute simple or compromising on compute to keep reasoning fluid. The separation is where the strength is.

    Where the stack is going next

    Three things I’m watching:

    Notion’s platform maturation. The May 13 launch is version 1 of what Notion as a programmable platform looks like. If Workers and database sync continue to grow into real automation surface, more of what I do on GCP could move to Notion. I don’t expect the heavy stuff to migrate, but the lightweight glue is moving in that direction.

    Claude’s agentic capabilities. Claude Managed Agents and the Agent SDK are getting better fast. Some of what I currently script in Python on Cloud Run will move into Claude-native agentic loops as the agents become more capable of long-running, reliable work without supervision.

    The fortress pattern on GCP. The ability to run Claude inside a private GCP perimeter via Vertex AI is becoming more important as I take on regulated industry work. The substrate leg is staying GCP precisely because of this — the perimeter matters.

    The stack will evolve. The three-leg shape probably won’t.

    Frequently Asked Questions

    Why Notion and not Airtable, Coda, or Obsidian?

    Notion’s combination of structured databases and human-readable page rendering is what makes it work as both a database and a knowledge base for Claude. Airtable is more powerful as a database but worse as a document. Coda is similar in spirit but smaller community and tooling around it. Obsidian is excellent for personal knowledge but doesn’t have the multi-user, structured-database surface I need to run businesses on.

    Why Claude and not GPT or Gemini?

    Voice quality for the kind of writing I do, agentic stability across long sessions, operator-friendly tooling (Claude Code, Cowork, MCP), and Anthropic’s roadmap and culture being legible to me. The other models work; Claude is what I picked.

    Why Google Cloud and not AWS?

    Vertex AI’s first-party Claude access, GCP’s control surface fitting how I work, competitive cost on my specific workloads. AWS would also work. The doctrine is “have a real substrate,” not “use GCP specifically.”

    Can a small operator afford this stack?

    Yes. Notion is $10/seat. Claude Pro is $20/month, Max is $100-$200. GCP costs scale with what you actually run — my 27-site infrastructure runs in the low three figures monthly. Total monthly stack cost for a solo operator running this architecture is well under what most people pay for a single SaaS tool that does only one of these jobs.

    What if one of the legs goes away or pivots badly?

    Each leg is replaceable. The shape of the stack matters more than the specific brands. If Notion pivots away from being useful, the state leg moves somewhere else. If Anthropic pivots, the reasoning leg moves. If I leave GCP, the substrate leg moves. The architecture is durable; the specific tool choices are not load-bearing in the way the architecture is.

    How long did it take to settle on this shape?

    Roughly two years of trying things. I write the doctrine now because I want my own next iteration to start from this shape rather than rebuilding it from scratch. If you want to skip those two years, this is the shortcut.

    Related Reading

  • How We Built a Complete AI Music Album in Two Sessions: The Red Dirt Sakura Story

    How We Built a Complete AI Music Album in Two Sessions: The Red Dirt Sakura Story

    The Lab · Tygart Media
    Experiment Nº 795 · Methodology Notes
    METHODS · OBSERVATIONS · RESULTS



    What if you could build a complete music album — concept, lyrics, artwork, production notes, and a full listening experience — without a recording studio, without a label, and without months of planning? That’s exactly what we did with Red Dirt Sakura, an 8-track country-soul album written and produced by a fictional Japanese-American artist named Yuki Hayashi. Here’s how we built it, what broke, what we fixed, and why this system is repeatable.

    What Is Red Dirt Sakura?

    Red Dirt Sakura is a concept album exploring what happens when Japanese-American identity collides with American country music. Each of the 8 tracks blends traditional Japanese melodic structure with outlaw country instrumentation — steel guitar, banjo, fiddle — sung in both English and Japanese. The album lives entirely on tygartmedia.com, built and published using a three-model AI pipeline.

    The Three-Model Pipeline: How It Works

    Every track on the album was processed through a sequential three-model workflow. No single model did everything — each one handled what it does best.

    Model 1 — Gemini 2.0 Flash (Audio Analysis): Each MP3 was uploaded directly to Gemini for deep audio analysis. Gemini doesn’t just transcribe — it reads the emotional arc of the music, identifies instrumentation, characterizes the tempo shifts, and analyzes how the sonic elements interact. For a track like “The Road Home / 家路,” Gemini identified the specific interplay between the steel guitar’s melancholy sweep and the banjo’s hopeful pulse — details a human reviewer might take hours to articulate.

    Model 2 — Imagen 4 (Artwork Generation): Gemini’s analysis fed directly into Imagen 4 prompts. The artwork for each track was generated from scratch — no stock photos, no licensed images. The key was specificity: “worn cowboy boots beside a shamisen resting on a Japanese farmhouse porch at golden hour, warm amber light, dust motes in the air” produces something entirely different from “country music with Japanese influence.” We learned this the hard way — more on that below.

    Model 3 — Claude (Assembly, Optimization, and Publish): Claude took the Gemini analysis, the Imagen artwork, the lyrics, and the production notes, then assembled and published each listening page via the WordPress REST API. This included the HTML layout, CSS template system, SEO optimization, schema markup, and internal link structure.

    What We Built: The Full Album Architecture

    The album isn’t just 8 MP3 files sitting in a folder. Every track has its own listening page with a full visual identity — hero artwork, a narrative about the song’s meaning, the lyrics in both English and Japanese, production notes, and navigation linking every page to the full station hub. The architecture looks like this:

    • Station Hub/music/red-dirt-sakura/ — the album home with all 8 track cards
    • 8 Listening Pages — one per track, each with unique artwork and full song narrative
    • Consistent CSS Template — the lr- class system applied uniformly across all pages
    • Parent-Child Hierarchy — all pages properly nested in WordPress for clean URL structure

    The QA Lessons: What Broke and What We Fixed

    Building a content system at this scale surfaces edge cases that only exist at scale. Here are the failures we hit and how we solved them.

    Imagen Model String Deprecation

    The Imagen 4 model string documented in various API references — imagen-4.0-generate-preview-06-06 — returns a 404. The working model string is imagen-4.0-generate-001. This is not documented prominently anywhere. We hit this on the first artwork generation attempt and traced it through the API error response. Future sessions: use imagen-4.0-generate-001 for Imagen 4 via Vertex AI.

    Prompt Specificity and Baked-In Text Artifacts

    Generic Imagen prompts that describe mood or theme rather than concrete visual scenes sometimes produce images with Stable Diffusion-style watermarks or text artifacts baked directly into the pixel data. The fix is scene-level specificity: describe exactly what objects are in frame, where the light is coming from, what surfaces look like, and what the emotional weight of the composition should be — without using any words that could be interpreted as text to render. The addWatermark: false parameter in the API payload is also required.

    WordPress Theme CSS Specificity

    Tygart Media’s WordPress theme applies color: rgb(232, 232, 226) — a light off-white — to the .entry-content wrapper. This overrides any custom color applied to child elements unless the child uses !important. Custom colors like #C8B99A (a warm tan) read as darker than the theme default on a dark background, making text effectively invisible. Every custom inline color declaration in the album pages required !important to render correctly. This is now documented and the lr- template system includes it.

    URL Architecture and Broken Nav Links

    When a URL structure changes mid-build, every internal nav link needs to be audited. The old station URL (/music/japanese-country-station/) was referenced by Song 7’s navigation links after we renamed the station to Red Dirt Sakura. We created a JavaScript + meta-refresh redirect from the old URL to the new one, and audited all 8 listening pages for broken references. If you’re building a multi-page content system, establish your final URL structure before page 1 goes live.

    Template Consistency at Scale

    The CSS template system (lr-wrap, lr-hero, lr-story, lr-section-label, etc.) was essential for maintaining visual consistency across 8 pages built across two separate sessions. Without this system, each page would have required individual visual QA. With it, fixing one global issue (like color specificity) required updating the template definition, not 8 individual pages.

    The Content Engine: Why This Post Exists

    The album itself is the first layer. But a music album with no audience is a tree falling in an empty forest. The content engine built around it is what makes it a business asset.

    Every listening page is an SEO-optimized content node targeting specific long-tail queries: Japanese country music, country music with Japanese influence, bilingual Americana, AI-generated music albums. The station hub is the pillar page. This case study is the authority anchor — it explains the system, demonstrates expertise, and creates a link target that the individual listening pages can reference.

    From this architecture, the next layer is social: one piece of social content per track, each linking to its listening page, with the case study as the ultimate destination for anyone who wants to understand the “how.” Eight tracks means eight distinct social narratives — the loneliness of “Whiskey and Wabi-Sabi,” the homecoming of “The Road Home / 家路,” the defiant energy of “Outlaw Sakura.” Each one is a separate door into the same content house.

    What This Proves About AI Content Systems

    The Red Dirt Sakura project demonstrates something important: AI models aren’t just content generators — they’re a production pipeline when orchestrated correctly. The value isn’t in any single output. It’s in the system that connects audio analysis, visual generation, content assembly, SEO optimization, and publication into a single repeatable workflow.

    The system is already proven. Album 2 could start tomorrow with the same pipeline, the same template system, and the documented fixes already applied. That’s what a content engine actually means: not just content, but a machine that produces it reliably.

    Frequently Asked Questions

    What AI models were used to build Red Dirt Sakura?

    The album was built using three models in sequence: Gemini 2.0 Flash for audio analysis, Google Imagen 4 (via Vertex AI) for artwork generation, and Claude Sonnet 4.6 for content assembly, SEO optimization, and WordPress publishing via REST API.

    How long did it take to build an 8-track AI music album?

    The entire album — concept, lyrics, production, artwork, listening pages, and publication — was completed across two working sessions. The pipeline handles each track in sequence, so speed scales with the number of tracks rather than the complexity of any single one.

    What is the Imagen 4 model string for Vertex AI?

    The working model string for Imagen 4 via Google Vertex AI is imagen-4.0-generate-001. Preview strings listed in older documentation are deprecated and return 404 errors.

    Can this AI music pipeline be used for other albums or artists?

    Yes. The pipeline is artist-agnostic and genre-agnostic. The CSS template system, WordPress page hierarchy, and three-model workflow can be applied to any music project with minor customization of the visual style and narrative voice.

    What is Red Dirt Sakura?

    Red Dirt Sakura is a concept album by the fictional Japanese-American artist Yuki Hayashi, blending American outlaw country with traditional Japanese musical elements and sung in both English and Japanese. The album lives on tygartmedia.com and was produced entirely using AI tools.

    Where can I listen to the Red Dirt Sakura album?

    All 8 tracks are available on the Red Dirt Sakura station hub on tygartmedia.com. Each track has its own dedicated listening page with artwork, lyrics, and production notes.

    Ready to Hear It?

    The full album is live. Eight tracks, eight stories, two languages. Start with the station hub and follow the trail.

    Listen to Red Dirt Sakura →