How I Built a 16-Agent Marketing Kit Generator With Gemini

Marketing shouldn’t require a department. Yet 34% of solopreneurs cite marketing and customer acquisition as their top challenge, and 52% of small businesses operate on monthly marketing budgets under $1,000 (Founder Reports, 2026; LocaliQ, 2026). That gap between what founders need and what they can afford is exactly where I pointed Growth Engine.

I built Growth Engine for the #GeminiLiveAgentChallenge hackathon — this piece of content was created for the purposes of entering this hackathon. The system takes a single Brand Blueprint and generates an entire marketing toolkit: competitive research, strategy, ad copy, SEO content, email sequences, marketing images, and a launch plan. Sixteen specialized Gemini-powered agents work together, streamed live via Server-Sent Events so users watch their marketing team assemble in real time.

In this post, I’ll walk through the architecture decisions, the Gemini patterns that made it work, and why the hardest part wasn’t the AI at all.

TL;DR: Growth Engine uses 16 Gemini-powered agents and 13 tools to generate a complete marketing toolkit from a single brand profile. With 57% of companies already running AI agents in production (LangChain, 2025), the system proves multi-agent architectures are practical for solo founders — not just enterprise teams.


Why Do Solo Founders Need an AI Marketing Team?

Solo founders face a brutal math problem. 34% cite marketing as their biggest challenge, while 41% struggle with time management (Founder Reports, 2026). They’re building, selling, supporting, and marketing — all at once — often with zero dedicated marketing budget.

Citation Capsule: According to LocaliQ’s 2026 survey of 300+ small businesses, 52% have monthly marketing budgets under $1,000 and 50% have zero employees dedicated to marketing (LocaliQ, 2026). Growth Engine addresses this gap with AI agents that produce agency-quality marketing assets at zero marginal cost.

I know this pain firsthand. Before building Growth Engine, I spent hours each week on marketing tasks that felt repetitive: writing ad variations, researching competitors, drafting email sequences. Each task individually wasn’t hard. But the combined cognitive load was crushing.

Enterprise companies solve this with marketing departments — 10, 20, 50 people each handling one slice. Solo founders don’t have that luxury. What if you could get a full marketing team’s output from a single brand profile?

That’s what Growth Engine does. You fill out a Brand Blueprint — your product name, target audience, positioning, brand voice — and the system generates everything. Competitive research. Strategy documents. SEO keyword plans. Blog posts. Ad copy with creative images. Email nurture sequences. A 30-day launch plan. Each piece informed by the research that came before it.

Solo founder wireframing app layouts on a tablet at a minimalist desk

And it’s not a pipe dream. 59% of SMBs identify acquiring new leads and customers as their most significant 2026 challenge (LocaliQ, 2026). The demand for this kind of tool is real.


What Does the Architecture Look Like?

Multi-agent systems are moving fast. 57% of companies now have AI agents in production, with another 22% in pilot programs (LangChain State of Agent Engineering, 2025). Growth Engine’s architecture splits the work into two phases to balance quality with cost efficiency.

Citation Capsule: A Google Cloud study of 3,466 senior leaders across 24 countries found that 52% of executives report their organizations are actively using AI agents, with 39% having launched more than 10 agents (Google Cloud Press / NRG, 2025).

Phase 1: Foundation (Run Once)

The Foundation phase chains two agents sequentially. First, the research_agent uses five tools — web_search, find_competitors, search_reddit, search_product_hunt, and search_trends — to build a competitive intelligence brief. It scrapes competitor sites, reads Reddit threads for pain points, and analyzes Google Trends data.

Then a lightweight Gemini call reads the research output and generates a “director briefing” — three to five sentences of focused direction for the next agent. This isn’t generic hand-waving. The briefing references specific competitor names, pricing gaps, and audience insights from the research.

The strategist_agent takes that briefing plus the full research brief and produces ICP personas, positioning statements, channel recommendations, and a landing page audit. Together, these two agents create the Foundation — the intelligence layer every downstream agent consumes.

Our finding: Running research once and reusing it across all agents cut total API calls by roughly 60% compared to having each agent do its own research. It also dramatically improved consistency — every agent works from the same competitive intelligence, so messaging stays coherent across channels.

Phase 2: On-Demand Agents (Run Individually)

The remaining 14 agents run on demand. Each loads the Foundation context via Foundation.to_context_dict() and operates independently. Users trigger them from a Marketing Hub — one click per agent, results streamed in real time.

Why separate phases? Two reasons. First, research is expensive. The research agent makes 5-8 tool calls, each hitting external APIs. Running that for every single agent would be wasteful and slow. Second, it lets users iterate. Regenerate your ad copy without re-running the research. Refresh your email sequences while keeping the same strategy. AI Agent Deployment Status 0% 20% 40% 60% In Production 57% In Pilot 22% Pre-Pilot 21% Source: LangChain State of Agent Engineering (1,340 responses), Dec 2025 AI agent deployment maturity across companies. Source: LangChain State of Agent Engineering, Dec 2025.


How Does Gemini Power 16 Specialized Agents?

Gemini isn’t just the model behind Growth Engine — it’s the backbone. The Gemini API hit 85 billion requests in January 2026, up 142% from 35 billion in March 2025 (AI Business Weekly / The Information, 2026). That scale gives confidence the platform can handle production workloads. And 88% of early AI adopters already report seeing ROI, with productivity gains topping the list at 70% (Google Cloud / NRG, 2025).

Citation Capsule: The Gemini API processed 85 billion requests in January 2026, representing 142% growth from 35 billion in March 2025 (AI Business Weekly, 2026). Growth Engine uses Gemini 3 Flash as its default model across all 16 agents and 13 tools.

The Singleton Client Pattern

Every Gemini interaction in Growth Engine flows through a single client instance, cached via Python’s @lru_cache:

@lru_cache(maxsize=1)
def get_gemini_client() -> genai.Client:
    return genai.Client(api_key=settings.GOOGLE_API_KEY)

This avoids re-authenticating on every call. The google-genai SDK (v1.0.0+) handles connection pooling internally, so one client serves all concurrent agent runs without contention.

The Function Calling Loop

Each agent runs inside a function calling loop — up to 10 iterations. Here’s what actually happens. Gemini receives a system instruction (the agent’s persona and task) plus a user message. If it decides to call a tool, we execute the tool, feed the result back, and loop. When it returns text instead of a function call, we parse the JSON output.

But what happens when things go wrong? Three resilience patterns:

  • Tool failure tracking. After two consecutive failures for the same tool, we block further calls and tell Gemini to work with existing data. This prevents infinite retry loops.
  • Empty response retry. If Gemini returns nothing (safety filters, overload, or just silence), we retry up to three times with exponential backoff and a nudge message.
  • JSON parse failure nudging. If the output doesn’t match the expected Pydantic schema, we tell Gemini exactly what failed and ask it to try again. This works surprisingly well — most parse failures resolve on the second attempt.

Thirteen Tools, Four Categories

The 13 tools break into four categories: research (web_search, find_competitors, search_reddit, search_product_hunt, search_trends, research_audience), strategy (analyze_pricing, audit_landing_page, scrape_website), creative (generate_image, generate_content_with_visuals, generate_og_image), and content (generate_content_with_visuals). Each tool is a registered async function with a Pydantic input model, and tool schemas get cleaned before passing to Gemini — stripping title, $defs, and default fields that the API rejects.

Three-dimensional blue AI letters with neural network lines on a dark surface

Gemini API Request Growth 0B 50B 100B Mar 2025 Jan 2026 35B 85B +142% growth Source: AI Business Weekly / The Information, 2026 Gemini API request volume from March 2025 to January 2026. Source: AI Business Weekly / The Information, 2026.


Why Was Design the Hardest Part — Not the AI?

Here’s something most builder posts won’t tell you: 84% of developers now use or plan to use AI tools, but trust in AI accuracy dropped to 29% from 40% the year before (Stack Overflow 2025 Developer Survey, 2025). Getting the AI to generate useful outputs was the straightforward part. Making those outputs readable, trustworthy, and actionable for a stressed-out founder? That’s where the real work happened.

Citation Capsule: Despite 84% of developers using or planning to use AI tools, trust in AI output accuracy fell from 40% to 29% year-over-year, according to the Stack Overflow 2025 Developer Survey of 33,662 respondents (Stack Overflow, 2025). This trust gap shaped Growth Engine’s design decisions.

The Deep Space Dark Theme

I wanted Growth Engine to feel like a premium tool, not a toy. The design draws from Stripe and Raycast — polished, high-craft products that prove dark themes can feel sophisticated rather than gloomy.

The theme uses a zinc scale for surfaces: #09090b for the base background, #18181b for card surfaces, #27272a for borders and hover states. Indigo #4f46e5 serves as the primary accent across all interactive elements. Typography pairs Geist Sans for UI text with Geist Mono for code and technical content.

Why dark mode only? Because the target user — a solo founder running Growth Engine at 11 PM after a full day of building — doesn’t need a blinding white interface. One theme means one set of design decisions, one set of contrast ratios to validate, one less toggle to maintain.

Status at a Glance

Every agent card on the Marketing Hub shows one of four states: not generated, completed, stale, or running. Each gets a semantic color — green, amber, or the default muted state. You should be able to open the Hub and know instantly what’s done, what needs attention, and what’s in progress. No reading required.

But here’s the design challenge I didn’t expect. When an agent runs, it might make 6-8 tool calls over 30-60 seconds. How do you show that progress without a generic spinner that kills trust? The answer was real-time streaming.

Laptop displaying a marketing analytics dashboard with charts and metrics

Our finding: Showing tool calls in real time — “Searching Reddit for pain points…”, “Analyzing competitor pricing…” — dramatically changed user perception. Early testers went from “is it frozen?” to “oh, it’s actually researching my market.” Transparency replaced the trust gap that a loading spinner creates.


How Does Real-Time Streaming Make Agents Feel Alive?

Most AI products show a spinner, then dump results. Growth Engine takes a different approach. 80% of marketers already use AI for content creation (HubSpot 2026 State of Marketing, 2026), so the bar for AI-generated content is high. Users need to trust the process, not just the output.

Citation Capsule: HubSpot’s 2026 State of Marketing report found that 80% of marketers use AI for content creation and 75% for media production (HubSpot, 2026). When users already expect AI output, the differentiator is showing how that output was created.

The SSE Event Protocol

Server-Sent Events carry every step of agent execution to the browser. Here’s the event flow for a single agent run:

  1. agent_run_start — agent identified, foundation loaded
  2. agent_briefing — the director briefing (3-5 sentences of context)
  3. agent_start — model and tools listed
  4. tool_call / tool_result — repeated for each tool invocation
  5. agent_output — structured JSON result
  6. agent_done — timing and call counts
  7. agent_run_done — final output with output_id

The Foundation phase follows a similar pattern but wraps two agents in foundation_start / foundation_done events.

Frontend Event Parsing

On the frontend, a streamPipeline() function reads the SSE stream with a ReadableStream reader. It buffers incoming chunks, splits on double newlines (the SSE delimiter), strips the data: prefix, and parses each line as JSON. Each parsed event fires an onEvent callback that updates React state.

const { done, value } = await reader.read();
buffer += decoder.decode(value, { stream: true });
const parts = buffer.split("\n\n");
buffer = parts.pop()!;

Simple? Yes. But there’s a subtlety that tripped me up for hours. The stream can split a JSON payload across two chunks. Without the buffer-and-split approach, you get parse errors on every third or fourth event. Took me a while to debug that one.

Why This Matters for Solo Founders

When a founder watches the research agent search Reddit, analyze competitor pricing, then summarize findings — they’re seeing the work happen. It’s the difference between a black box and a transparent assistant. And for a market where trust in AI accuracy sits at just 29%, that transparency isn’t optional. Solo Founder Top Challenges 0% 20% 40% 60% Time Management 41% High Stress Levels 35% Marketing / CustAcq 34% Source: Founder Reports, 2026 Top challenges reported by solo founders. Source: Founder Reports, 2026.

Close-up of colorful programming code on a dark screen with syntax highlighting

What Does Deploying on Google Cloud Look Like?

The marketing AI market is valued at $47.32 billion in 2025, growing at a 36.6% CAGR to $107.5 billion by 2028 (SEOProfy, 2025). Growth Engine runs entirely on Google Cloud, and the deployment story is simpler than you’d expect for a multi-agent system.

Citation Capsule: With 80% of marketers using AI for content creation and the marketing AI market projected to hit $107.5 billion by 2028 (SEOProfy, 2025; HubSpot, 2026), the infrastructure to support AI-driven marketing tools needs to be both scalable and cost-efficient.

The Stack on Google Cloud

Cloud Run hosts the FastAPI backend. It scales to zero when nobody’s using it, which matters when you’re a solo developer paying for infrastructure. No always-on VMs.

Cloud Firestore stores everything: Brand Blueprints, Foundations, Agent Outputs, usage records — six collections total. The schemaless design means adding a new agent output type doesn’t require migrations. All reads are scoped to (user_id, workspace_id) for multi-tenant isolation.

Google Cloud Storage holds generated images — marketing creatives, OG images, ad visuals. A media proxy endpoint in FastAPI serves these to the browser since GCS URLs aren’t directly accessible from the frontend.

Firebase Authentication handles both Google sign-in and anonymous guest mode. Here’s a pattern I really like: anonymous users get real Firebase UIDs and ID tokens. When they upgrade to Google auth, upgradeToGoogle() links their anonymous account to Google — preserving the same UID and all their data. No migration needed. No data loss.

Guest Mode and Usage Caps

Anonymous users can run 1 Foundation and 3 agent runs for free. Three FastAPI dependencies — check_foundation_quota, check_agent_quota, and require_authenticated — enforce these caps. They’re no-ops for signed-in users. Simple, clean, and it lets people try the product before committing.

Our finding: Gartner forecasts that 40% of enterprise applications will embed task-specific AI agents by 2026, up from under 5% in 2025 (Gartner, 2026). But you don’t need an enterprise budget to build and deploy a multi-agent system. Growth Engine runs on pay-per-use cloud services with no fixed infrastructure costs — just Cloud Run, Firestore, GCS, and the Gemini API.

Marketing AI Adoption by Use Case 0% 25% 50% 75%+ Content Creation 80% Media Production 75% Source: HubSpot 2026 State of Marketing Marketing AI adoption rates by use case. Source: HubSpot 2026 State of Marketing.

Server rack cabinets with glowing green LED lights in a dark data center

Frequently Asked Questions

How many agents does Growth Engine use?

Growth Engine uses 16 specialized agents — 2 Foundation agents (research and strategy) and 14 on-demand agents covering content, ads, SEO, email, and planning. This mirrors an agency structure where 57% of companies already have AI agents in production (LangChain, 2025). Each agent has a defined persona, tool access, and output schema.

What is a director briefing?

A director briefing is a lightweight Gemini call that reads one agent’s output and produces 3-5 sentences of focused direction for the next agent. It references specific data points — competitor names, pricing gaps, audience insights — so downstream agents don’t start from scratch. With 84% of developers now using AI tools (Stack Overflow, 2025), these orchestration patterns matter.

Can I try Growth Engine without signing up?

Yes. Firebase Anonymous Authentication lets you try Growth Engine as a guest. You can run 1 Foundation and 3 agent runs for free. When you’re ready, upgradeToGoogle() links your anonymous account to Google, preserving your UID and all generated data. Among small businesses, 52% have marketing budgets under $1,000/month (LocaliQ, 2026) — so free trial access matters.

What model does Growth Engine use?

Growth Engine runs on Gemini 3 Flash via the google-genai SDK (v1.0.0+). A singleton client cached with @lru_cache handles all API calls. The Gemini API processed 85 billion requests in January 2026 (AI Business Weekly, 2026), giving confidence in platform reliability and throughput for production workloads.

How does Growth Engine handle tool failures?

The function calling loop tracks failures per tool. After 2 consecutive failures, that tool gets blocked and Gemini is told to work with existing data. Empty responses trigger up to 3 retries with exponential backoff. JSON parse failures get sent back to Gemini with the exact error. This resilience matters — 88% of early adopters see ROI from generative AI (Google Cloud / NRG, 2025), but only when systems handle failure gracefully.


Conclusion

Building Growth Engine taught me that the hard problems in multi-agent systems aren’t where you’d expect. The AI works. Gemini’s function calling is reliable, the tool ecosystem is flexible, and structured outputs parse cleanly after a nudge or two. The real challenges are design, orchestration, and trust.

Key takeaways from this build:

  • Two-phase architecture saves cost and improves consistency. Run research once, reuse it everywhere.
  • Director briefings are the glue. Without them, agents produce generic output. With them, each agent builds on specific intelligence from the prior step.
  • Show the work. SSE streaming tool calls in real time builds more trust than any polished loading animation.
  • Dark theme, one theme. Fewer decisions means more polish on the decisions you do make.
  • Guest mode with UID preservation is a clean on-ramp. Let people try before they commit.

This project was built for the #GeminiLiveAgentChallenge hackathon on Devpost. If you’re a solo founder drowning in marketing work, Growth Engine is the team you can’t afford to hire — powered by Gemini, deployed on Google Cloud, and designed to make marketing finally feel manageable.

Leave a comment