Start here
Executive Summary — Kobi Digital Ads Module
Audience: General managers, VC board members, and senior stakeholders who need to understand what this module is, whether it is buildable, what it costs, what can block it, and how we will execute — without reading 30+ technical documents.
Purpose: Demonstrate that the plan is complete, realistic, and de-risked at an unusual depth for pre-build stage. Detailed specs live in the linked docs; this is the single leadership entry point.
Status: Phase 0 complete (documentation). Board pack sections are leadership-ready; deep-dive specs are draft and will be updated during Week 0 and early build — see Welcome. Week 0 (VC gate) first — then build from 1 Jul 2026. Pilot live ads blocked until creative tool integration (W0 Q2).
Deep dives: Solo-engineer sprint plan (full week detail) · Execution gameplan · Cost model · Platform access & API readiness
1. Verdict in 60 seconds
| Question | Answer |
|---|---|
| What is it? | An AI-orchestrated digital media module for Kobi — automates onboarding → planning → execution → optimization → reporting for SMB clients across health, schools, tourism, ecommerce, etc. |
| Is it buildable? | Yes. Every lifecycle step is mapped to concrete platform APIs or an explicit human/UI fallback. Known hard limits are documented with mitigations — not discovered at client #6. |
| What does it cost to run? | ~$8–42/client/mo (infra + LLM); ~$240/mo at 5 clients → ~$4.5K/mo at 200 clients. Pay from GCP billing unless leadership secures cloud credits separately (not assumed here). |
| What does it cost to build? | Assumed go-live DDL (core): ~13 weeks calendar (solo + Cursor from 1 Jul → G+M+T ~W9 / ~1 Sep). ~50 engineer-weeks = full-module effort accounting (baseline team, all phases incl. W14+) — not the MVP calendar — see Section 7. |
| Biggest cash risk? | Media float (Kobi fronts client ad spend, invoices monthly) — orders of magnitude larger than infra. Finance/policy owned at parent/VC level. |
| Biggest scaling blockers? | Meta: API caps account creation at 5/BM → need 2-Tier BM (Meta rep, weeks–months). Google: new MCC may be ineligible to create accounts via API until spend history exists. TikTok: per-BC advertiser cap (rep-gated). All tracked; pilot (≤5 Meta tenants) is not blocked. |
| When is core loop live? | Solo plan (1 Jul start): Google E2E ~4 Aug (W5) · +Meta ~18 Aug (W7) · G+Meta+TikTok ~1 Sep (W9). Needs a pilot SMB client (real business to test with — see terminology). |
| What's intentionally not in this repo? | Pricing, TAM/SAM, fundraise ask — owned at parent/VC level. This module owns cost, timeline, technical risk, and execution plan. |
Leadership framing: We de-risked the technical unknowns to unusual depth. We know exactly which external approvals gate scaling, we started them in Phase 0, and we can ship a credible pilot while the long poles mature.
2. The problem and the solution
Problem
Small businesses need professional digital advertising across Google, Meta, TikTok, and programmatic — but face:
- Different APIs, access models, billing, and tracking per platform
- Manual, error-prone onboarding (accounts, verification, pixels, feeds, CAPI)
- No unified measurement or link between ad spend and CRM outcomes (appointments, enrollments, orders)
- Agency dependence for work that is repeatable and automatable
Solution
A fully automated, agent-orchestrated media engine that:
- Provisions and manages ad accounts under Kobi/agency ownership — clients never touch raw platform consoles
- Plans and executes campaigns via specialized AI agents with guardrails and human approval gates
- Optimizes on GA4 as source of truth (with explicit degraded mode if GA4 is not connected)
- Closes the loop — CRM outcomes → offline conversions / CAPI back to platforms
- Surfaces human control — every material decision versioned and approvable in the Human Touch dashboard
Business value
| Stakeholder | Value |
|---|---|
| SMB clients | Agency-grade media without agency overhead; reporting tied to real business outcomes |
| Kobi platform | Scalable, repeatable operations across verticals; lower cost-to-serve per client |
| Operations | Clear HITL controls, audit trail, fewer manual platform logins |
| Investors / leadership | Documented path from pilot → scale with known blockers, costs, and gates |
3. How it works (architecture at a glance)
Client portal ──► Human Touch Dashboard (approvals, plans, spend)
│
▼
Orchestrator (state machine, events)
│ │
┌──────────┼─────────┼──────────┐
▼ ▼ ▼ ▼
Onboarding Planning Execution Optimization Reporting
agent agent agent agent agent
│ │ │ │ │
└──────────┴─────────┴──────────┴────────────┘
│
Platform connectors (Google, Meta, TikTok, DV360)
│
GA4 (measurement SoT) ◄── CRM (outcomes)
Core design principles:
| Principle | What it means |
|---|---|
| Agency-owned accounts | Kobi BM/MCC/BC holds accounts; clients consent via portal OAuth; no client payment cards on platforms |
| GA4 source of truth | Cross-channel optimization and reporting reconcile to GA4; platform-reported metrics are secondary |
| Human-in-the-loop | Nine approval types (A1–A9): plans, budgets, launches, compliance, etc. — all versioned |
| Agentic with guardrails | Model router (cheap-first, escalate on QC failure); Cost Guard (hard spend circuit-breaker); QC loops with 80% success floor |
| Multi-tenant isolation | tenant_id everywhere; per-tenant tokens; no cross-tenant queries |
| Serverless-first on GCP | Cloud Run services per domain, Vertex for agents, BigQuery, Pub/Sub — modular services, not one deployable blob (see below) |
Build shape (maintenance-ready SaaS — not a monolith): One monorepo for solo velocity, but separate Cloud Run services per bounded context from day one — e.g. tenant-registry, connector-google, connector-meta, connector-tiktok, orchestrator, human-touch-bff, jobs-worker. Each service has its own API contract, scaling, and tests. Shared libraries for types/schemas only. This matches the architecture docs and scales to a team without rewrite.
Two dashboards (by design):
- Human Touch — operators and clients: approvals, plans, tenant timeline (no raw engineering logs)
- System Ops — engineers/SRE: logs, QC telemetry, quota burn, infra health (IAP + VPN for prod)
4. Scope — what this module owns
In scope
- Full media lifecycle: onboarding, planning, execution, optimization, plan updates, reporting
- Platform integrations: Google Ads → Meta → TikTok → DV360 + GA4 + internal CRM; Phase 2 core: Meta CPAS (marketplace collaborative catalog ads for SMB)
- Agency billing model, provisioning templates (pixels, catalogs, events by vertical)
- Feed management, conversion tracking, CAPI, offline conversion import
- Agentic orchestration + human control plane
- Security, access governance, multi-tenant isolation
Out of scope (explicit — prevents scope creep)
| Item | Notes |
|---|---|
| Creative production | Briefs and specs yes; full design studio no — see creatives & pilot client |
| Full organic social calendar | Paid media core; engagement boosts only (interim) |
| Client login to raw ad platforms (Google Ads UI, Meta Ads Manager, TikTok Ads Manager) | Agency model — clients never need platform consoles |
| Kobi client portal / product UI — scope depth | Board question — functional MVP (onboard, approve, report) is planned; Ads-Manager-style UI is not. See §6b |
| Client GA4/MMP → BigQuery | Client-operated; Kobi reads GA4 via Analytics Data API |
| Parent platform billing ERP | Kobi invoices client monthly; ERP integration is broader Kobi |
| Pricing / market sizing / fundraise | Parent/VC owned |
5. Operating model
Agency billing (clients never pay platforms directly)
| Element | Model |
|---|---|
| Platform payment | Kobi/agency billing on Google MCC, Meta BM, TikTok BC, DV360 partner |
| Client payment | Monthly invoice from Kobi: media pass-through + management/SaaS fee |
| Spend control | Approved plan + budget caps + platform spend limits; execution only against versioned plans |
| Working capital | Kobi carries ~1 month of client media spend as receivable — dominant cash item, not infra |
Tax flag (finance): VAT/KDV and foreign-platform digital-services/withholding tax affect invoice gross-up and float — confirm with parent/VC finance before first billing.
Client agreements
Clients accept ToS before onboarding. Material decisions (plan, budget, tracking, data sharing) require HITL approval. KVKK/GDPR: client responsible for lawfulness of data they permit to flow to ad networks; Kobi operates only on approved, versioned configurations.
6. Platform strategy and scaling
Build order: Google Ads + GA4 (Phase 1) → Meta + TikTok + Meta CPAS (Phase 2) → DV360 (Phase 3, contract-gated) → CRM loop maturity (Phase 4).
Meta CPAS (Collaborative Ads) — Phase 2 core business, not optional: marketplace catalog segments (Trendyol, Hepsiburada, global retailers) so SMBs get collaborative performance ads today used mainly by large brands. Marketplace onboarding API vs manual TBD (CPAS spec). Measurement: shared-item metrics from Meta, not GA4-primary. TikTok marketplace-collaborative: later.
GA4 is integration priority #5 in the platform list but is a Phase 1 foundation for measurement — not deferred until after DV360.
Meta Ads — account creation gameplan
Meta limits API-created ad accounts to 5 per Business Manager. This is the hardest scaling constraint.
| Clients | Structure | Automated onboarding? | Requirement |
|---|---|---|---|
| 1–5 | 1 Kobi parent BM → 1 ad account per client | ✅ Yes | Normal pilot path |
| 6–10 | Same model breaks for API | ❌ Without 2-Tier | 2-Tier BM (child BM per client) — Meta rep, PRE-10 |
| 50 | 50 child BMs under parent | ✅ Yes (if PRE-10 approved) | Full API tier + extended credit |
| 100 | Same + consider multi-parent-BM sharding | ✅ Yes | Suspension blast-radius isolation |
| 500 | Child BM per client; multiple parent BMs (shard by region/risk) | ✅ Yes (if PRE-10 + ops mature) | Credit headroom, quota scheduler, HITL/ops capacity |
Action now (Phase 0): Open PRE-10 (2-Tier BM request with Meta rep) in parallel with build. Engineering builds child-BM-ready registry from day one. Pilot proceeds on single BM regardless.
Global clients — honest framing
Ads are always local to the client's market (Turkey, EU, MENA, etc.) — platform APIs create accounts and run campaigns in the target country, regardless of where Kobi's software runs.
| Layer | MVP (core go-live) | Target-state (100–500+ tenants, global mix) |
|---|---|---|
| Control plane (orchestrator, connectors, HITL) | Single primary region — europe-west1 |
Regional tenant shards (e.g. EU, MENA) when residency or latency requires; not required for first pilots |
| Measurement / tags | Client GA4 + optional relay later | Cloudflare edge for first-party relay (metrics.client.com) — already designed for global client sites |
| Platform accounts | One parent BM/MCC/BC | Multi-parent sharding by region or risk at ~100+ Meta tenants |
| Data residency | EU-default BQ + tenant_id isolation | Per-tenant region pin when contracts require (GDPR, local law) |
| Ops | Single timezone bias OK for pilot | Follow-the-sun approval SLAs + automation reduce need for 24/7 headcount |
Board line: Software is designed to scale out (serverless, queues, tenant isolation). 200 clients is the documented growth portfolio; 500 worldwide is achievable after platform sharding and ops/finance mature — not a day-one claim.
See System overview — scale tiers.
Google Ads — account creation
- MCC → client shell accounts via
CreateCustomerClient - Risk: New/low-spend MCC may get
CREATION_DENIED_INELIGIBLE_MCCuntil spend history exists (chicken-and-egg, like Meta Full tier) - Mitigation: Seed MCC with manual accounts + real spend in Phase 0; verify eligibility before relying on API provisioning
TikTok Ads
- Business Center → advertiser per tenant via API (
POST /bc/advertiser/create/) - Risk: Per-BC advertiser cap varies by BC type — raised via TikTok account manager
- Risk: App must be Live (sandbox → app review, days–weeks, no SLA)
- Mitigation: Start app review in Phase 1; confirm BC headroom in Phase 0
DV360
- Requires Google Marketing Platform sales contract — months, minimum spend
- Out of early SKU; start sales outreach in Phase 0 if pursuing
Platform API costs
$0 — Google, Meta, TikTok, DV360 ad APIs are free to call (rate-limited, not metered). Cost risk is LLM + GCP infra, not platform fees.
6a. Terminology: pilot client vs creatives vs "TikTok Live"
These are often confused — they are not the same thing.
| Term | What it means | Who owns it |
|---|---|---|
| Pilot client (was "design partner") | A real SMB business that agrees to be the first customer you onboard and run ads for — so you can test onboarding → plan → create → optimize → report end-to-end on real accounts and spend. | Ask VC/board for an intro, first customer, or friendly business in target vertical (health, school, tourism, etc.). Not something engineering invents. |
| Ad creatives (images, video, copy) | The assets inside ads. Live pilot is blocked until the parent creative production tool is integrated (API into campaign execution). W0 Q2 — owner + date from VC/creative team. | |
| TikTok app "Live" | TikTok for Developers production approval for your app — lets the Marketing API work on real advertiser accounts. Sandbox = test advertisers only. | Nothing to do with TikTok live streaming or "going live" on video. One-time app review (PRE-5); submit in week 1, may take days–weeks. |
6b. Client UI — board question (not a backend afterthought)
Two different "client UI" questions — do not conflate them.
| Layer | What it is | In this module? |
|---|---|---|
| A — Raw platform consoles | Client logs into Google Ads / Meta Ads Manager / TikTok Ads and edits campaigns directly | No — breaks agency-owned account model |
| B — Kobi client portal | Client uses Kobi to onboard, approve plans/budgets, view spend vs plan, reports, Meta Page OAuth — client portal spec | Yes — depth at launch is a board decision |
Board question: How far do we take Layer B for launch?
| Option | What the client gets | Extra effort (solo eng, after core APIs) |
|---|---|---|
| MVP portal | Onboarding wizard, approve plan, weekly report, status checklist | ~2–4 weeks |
| Product portal | Above + plan history, spend charts, invoice view, creative upload slot | ~6–10 weeks |
| Ads-Manager clone | Full campaign builder per platform | Not in scope — months–years |
Is frontend trivial after backend? Partially — MVP Layer B is weeks if the BFF is clean; not true for product-grade UI or anything that replicates platform ad editors. Connectors and HITL are the hard part; functional client UI is moderate. Solo sprint: ops can approve on behalf of client until client portal polish lands.
Tell the board: Clients never need Google/Meta consoles. They get a Kobi portal — MVP weeks after APIs; full product UI is a scoped phase.
6c. RACI — named roles
R = Responsible (does the work) · A = Accountable (owns outcome / decision) · C = Consulted · I = Informed
One A per item. Other project members stay generic until named.
Role roster
| Role | Name | Scope |
|---|---|---|
| Digital Ads module — engineering | Arif | Build, architecture, connectors, GCP, self-serve platform apps, specs, sprint execution |
| VC / board — program & partnerships | Emre | Platform rep intros, pilot client, creative integration program, commercial/float/credits decisions, board alignment |
| Finance / legal | TBD | Entity, bank instruments, MCC/BM/BC billing setup |
| Creative product (parent module) | TBD | Creative tool build + API into ads execution |
| Pilot SMB client | External | GA4 access, Page OAuth, UAT sign-off |
| Platform partner reps | External | Meta 2-Tier, credit, TikTok BC — via Emre intro only |
Default for this module: Arif = R + A for all engineering and module delivery unless a row below assigns A to Emre or TBD.
W0 questions — RACI
| # | Topic | R | A | C | I |
|---|---|---|---|---|---|
| Q1 | Platform rep intros (Google / Meta / TikTok) | Emre | Emre | Arif | Finance TBD |
| Q2 | Creative tool → ads module integration | Creative lead TBD | Emre | Arif | — |
| Q3 | Pilot SMB client | Emre | Emre | Arif | Pilot client |
| Q4 | Client portal depth (MVP vs product) | Arif | Emre | — | — |
| Q5 | Legal entity + bank instruments | Finance TBD | Finance TBD | Emre, Arif | — |
| Q6 | Media float / working-capital policy | Finance TBD | Emre | Arif | — |
| Q7 | Google Cloud credits (optional) | Emre | Emre | Arif | Finance TBD |
Ongoing workstreams — RACI (summary)
| Workstream | R | A |
|---|---|---|
| Module build (W1–W13+) | Arif | Arif |
| Self-serve dev apps (Google token, Meta/TikTok sandbox) | Arif | Arif |
| Rep-gated platform access (2-Tier, credit, TikTok escalation) | Emre | Emre |
| Creative asset API (consumer side in ads module) | Arif | Arif |
| Creative asset API (provider side) | Creative lead TBD | Emre |
| Revised sprint calendar after W0 | Arif | Emre |
6d. Week 0 — VC/board gate (before build)
Do this first — ideal 24–30 Jun, minimum 1–2 Jul before heavy build. Facilitator: Emre (A). Arif presents + records. RACI: §6c. Checklist: solo sprint §0b.
| # | Ask VC/board | A | Why |
|---|---|---|---|
| Q1 | Introduce us to Google / Meta / TikTok partner reps (warm intros — Arif does not cold-call) | Emre | 2-Tier BM, extended credit, TikTok BC limits |
| Q2 | Creative tool integration — owner, API contract, date live | Emre | No live pilot ads until assets flow into execution |
| Q3 | Pilot SMB client — first real business | Emre | Real UAT vs test shells |
| Q4 | Client portal depth (MVP vs product) | Emre | §6b — Arif implements |
| Q5–Q7 | Entity/billing, media float, cloud credits | Emre / Finance TBD | PF-1, B3, cost |
W0 exit: Fill gate table → revise milestone dates in Section 7. W1 build (GCP, sandboxes) can start 1 Jul; W5 live campaigns need Q2 + Q3.
7. Execution timeline — solo-engineer sprint (from 1 Jul 2026)
Context: One engineer + Cursor. ~50% shorter than the original 2–4 engineer calendar (26 weeks → **13 weeks** to Google + Meta + TikTok core loop). External approvals (Meta app review, Google token, TikTok app Live) cannot be cut in half — week 1 front-loads every application; build continues with sandboxes/manual fallbacks while waiting.
Full week-by-week detail: 13-solo-engineer-sprint-plan-jul2026.md
Milestones (calendar)
| Date | Week | Milestone | A |
|---|---|---|---|
| 24–30 Jun or 1–2 Jul | W0 | VC gate (Emre) — Q1–Q7; revised calendar | Emre |
| 1 Jul 2026 | W1 | GCP live · dev apps submitted (Arif) | Arif |
| ~21 Jul | W3 | Google + GA4 read path; tenant registry; approval inbox | |
| ~4 Aug | W5 | Google E2E (live ads if Q2 done) | Arif / Emre (Q2 gate) |
| ~18 Aug | W7 | + Meta | Arif |
| ~1 Sep | W9 | G + M + T core loop | Arif |
| ~29 Sep | W13 | Buffer · hardening · start DV360/CRM tracks | |
| Oct+ | W14+ | DV360, CRM closed-loop, full agentic stack, relay |
What ships by ~W9 (Google, Meta, TikTok)
Onboarding · media planning (approve) · campaign create/execute · rules-based optimization · reporting · Human Touch on critical approvals.
Deferred to W14+: DV360, full CRM loop, full multi-agent QC/Cost Guard, System Ops dashboard, feed/catalog (unless ecommerce pilot), first-party relay.
Week-by-week summary (build + external together)
| Week | Dates | External / accounts (mornings) | Build (main thread) |
|---|---|---|---|
| W0 | 24–30 Jun or 1–2 Jul | VC/board only — Q1 rep intros, Q2 creative integration, Q3 pilot client; re-phase calendar | No build |
| W1 | 1–7 Jul | GCP; self-serve apps (Google token, Meta app, TikTok sandbox); VC chases rep meetings from Q1 | Monorepo; modular services; mock creative client |
| W2 | 8–14 Jul | Chase Google token; seed MCC shell account if needed; Meta system user when app allows; TikTok sandbox OAuth | Google read + GA4 reports; onboarding checklist UI |
| W3 | 15–21 Jul | Pilot client GA4 access; Meta token if approved | Google write; planning v1 + approve; Google onboarding automation |
| W4 | 22–28 Jul | Meta pilot ad account; start Meta API volume for Full tier | Execute Google from plan; reporting v1; rules optimize (Google) |
| W5 | 29 Jul–4 Aug | Onboard pilot client (Q3) | Live Google ads only if Q2 creative integration done — else test shell |
| W6 | 5–11 Aug | Meta Page/IG link; extended credit confirm | Meta execute + report + optimize |
| W7 | 12–18 Aug | TikTok app Live (production API); TikTok advertiser in BC | TikTok connector + execute + report |
| W8 | 19–25 Aug | Meta CAPI test events | Plan templates; idempotency; spend guardrail |
| W9 | 26 Aug–1 Sep | Pilot UAT sign-off | G+M+T definition of done — see sprint doc checklist |
| W10–13 | Sep | 2nd pilot client if available; Meta Full tier | CAPI basics; hardening; buffer |
Baseline timeline (if team grows to 2–4 engineers later)
| Milestone | Original target |
|---|---|
| Pilot (Google + GA4) | Week 10–12 |
| Multi-channel G+M+T | Week 18 |
| Full module | ~26 weeks |
MVP cut (both plans): Defer full agentic hardening, relay, DV360. Ship onboarding, planning, execute, rules optimization, reporting, Human Touch approvals.
Full-module build accounting (baseline 2–4 engineer team): 50 engineer-weeks core (67–69 with DV360 + relay). Not the core go-live DDL — board-facing deadline is the solo sprint above (~W9 / ~1 Sep for G+M+T; ~W13 with buffer).
8. Pre-flight critical path (external — W0 + week 1)
Engineering speed cannot compress these. Rep-gated items require VC intros (W0 Q1).
| Priority | Item | R | A | Gates |
|---|---|---|---|---|
| 🔴 | Creative tool → ads integration (W0 Q2) | Creative TBD + Arif (consumer) | Emre | Live pilot ads |
| 🔴 | Platform rep intros (Google / Meta / TikTok) | Emre | Emre | PRE-10, PRE-2, TikTok scale |
| 🟠 | Google MCC + verify, Basic token, Meta/TikTok sandbox apps | Arif | Arif | W1–W4 build |
| 🟠 | Meta Full API tier (500 calls/15d) | Arif | Arif | Meta automation volume |
| 🟠 | TikTok app Live (production API) | Arif (+ Emre if rep escalation) | Arif | TikTok real accounts |
| 🟡 | Pilot SMB client (PF-17) | Emre | Emre | Real UAT |
| 🟡 | Entity + billing (PF-1) | Finance TBD | Finance TBD | W1 external |
Pilot (≤5 Meta, Google, GA4) is not blocked by long poles — build while they mature.
Full register: Platform access — PRE checklist · Gameplan Section 3
9. Cost summary (module-owned)
Detailed model: 12-cost-model-and-estimates.md
Run cost (infra + LLM, excl. media pass-through)
| Portfolio | Clients | Monthly (expected) | Blended /client |
|---|---|---|---|
| Pilot | 5 | ~$240 | ~$48 (fixed-heavy) |
| Growth | 50 | ~$1,280 | ~$26 |
| Scale | 200 | ~$4,480 | ~$22 |
- Per client (profile-dependent): ~$8–42/mo expected; ~$19–28 blended at scale
- Cost driver: LLM optimization (~85–90% of variable cost); non-LLM infra is tight (Cloud Run scale-to-zero, on-demand BigQuery)
- Platform ad APIs: free
- Not in these numbers: client media spend (working capital), optional first-party relay SKU (+$80–650/mo at scale)
Build cost
- Assumed DDL — core module live (solo + Cursor): ~13 weeks calendar from 1 Jul 2026; G+M+T core loop
W9 (1 Sep) — see Section 7 - Full-scope effort accounting (baseline team, W14+ tracks included):
50 engineer-weeks core (67–69 with DV360 + relay) — for loaded-cost / capacity planning, not the MVP go-live date - Build-phase cloud: ~$100–300/mo (dev/staging + test inference)
- Apply parent/VC loaded rate for dollar figure
GCP cost levers
| Lever | Effect |
|---|---|
| Context caching | −25–50% LLM input cost (biggest steady-state lever) |
| Model tier discipline | Start cheap (Flash-Lite), escalate on QC failure only |
| Cloud Run scale-to-zero | Trim fixed baseline (~$220/mo) — see cost model §4.1 |
| Cloud Run CUD | −17–46% on warm baseline only (~$40–90/mo at scale) |
| Cloud credits (optional) | Leadership may pursue Google for Startups or other programs — not assumed in run-cost tables; see cost model §9 if pursued |
10. Risk register (top items)
| ID | Risk | Impact | Mitigation | Owner |
|---|---|---|---|---|
| B1 | Meta API caps at 5 ad accounts/BM | Blocks Meta tenant #6 | 2-Tier BM (PRE-10); child-BM-ready architecture | Sales + Eng |
| B3 | Media float / working capital | Cash loss if client doesn't pay | Credit policy, prepay for new clients, financing line | Finance / VC |
| B4 | Meta Full API tier chicken-and-egg | Throttled automation | Generate volume in Phase 1 pilot | Eng |
| B5 | GA4 optional in onboarding vs SoT optimization | Broken optimization premise | GA4 Admin = soft gate for pilots; degraded mode documented | Product |
| B6 | Google OAuth/token approval slow | Delays Phase 1 | Internal OAuth first; Basic token week 0 | Eng/Ops |
| B11 | Google MCC ineligible for API account creation | Can't provision Google tenants | Seed MCC spend/history Phase 0 | Ops |
| B11 | TikTok BC advertiser cap | Blocks TikTok tenants | Confirm headroom with TikTok rep | Sales/Ops |
| B7 | Closed-loop ROI lands last (Phase 4) | Weak pilot story | Interim offline import Phase 1.5 | Eng + CRM |
| B8 | Agency account suspension | All clients dark at once | Continuity runbook; multi-BM/MCC sharding | Ops |
Full register: Gameplan Section 2
11. Robustness, security, and compliance
| Area | Posture |
|---|---|
| Human control | All material mutations gated (A1–A9); rollback manifests; idempotent execution by run_id |
| AI cost control | Cost Guard terminates runs at 3× estimate; model router cheap-first; QC telemetry drives promotion/demotion |
| Secrets | Secret Manager; per-tenant tokens; 90-day rotation; never in git |
| Multi-tenant | Row-level isolation; BigQuery partition by tenant_id; cross-tenant queries forbidden |
| Rate limits | Central quota scheduler; exponential backoff; platform header parsing on every response |
| DR / backup | Registry RPO ≤1h / RTO ≤4h; audit log zero-loss; IaC redeploy; DR drill before GA |
| SLO (internal) | Human Touch 99.5%; automation 99.0%; async/idempotent — brief outage delays work, doesn't corrupt campaigns |
| Suspension continuity | Prevention, early warning, appeal paths, client comms, multi-platform fallback — security doc |
| Compliance | KVKK/GDPR split documented; Consent Mode v2 for EEA; Special Ad Categories per-ad (schools/health ≠ categories); EU political ads banned (TTPA) |
| Measurement integrity | GA4 SoT + ID-first UTM spec; Google auto-tagging rules enforced; reconciliation tolerances in reporting |
12. Decisions to lock before Phase 1 build
| # | Decision | Recommendation |
|---|---|---|
| S1 | Meta tenant model | ✅ Locked (ADR 0003): 2-Tier child BM per client (primary); single-BM fallback ≤5 until PRE-10; dev tests 2-Tier |
| S2 | GA4 requirement | ✅ Locked (ADR 0002): soft gate (invite Admin or skip) + degraded mode; OAuth auto-provision = Phase 3+ consideration |
| S3 | Tech stack (ADR 0001) | ✅ Locked: all-TypeScript (strict, AI-authored, guardrailed) |
| S4 | Working-capital policy | ✅ Partial (ADR 0004): per-tenant limit always; prepay → cap from parent billing API; other models → finance team |
| S5 | Closed-loop timing | ⏸ Deferred — Phase 1.5+ |
| S6 | DV360 in early SKU? | ⏸ Deferred — add-on after contract |
| S7 | Organic posting scope | ✅ Locked (ADR 0004): no feed posting; dark-post ads + boost existing posts OK |
| S8 | Entity / compliance boundary | ✅ Locked (ADR 0004): no PII/financial storage in module; legal confirm KVKK/GDPR + entity |
| S9 | Special Ad Category mapping | ✅ Locked (ADR 0004): default NONE; business type at onboarding → eligibility flag |
13. Manager & board Q&A
Strategy and product
Q: Is this vaporware, or can you actually automate it?
A: Every onboarding and lifecycle step is mapped to a concrete API endpoint or an explicit human/UI fallback in the onboarding API cross-check. We classify each step ✅/⚠️/❌ — including items that are relationship-gated (Meta 2-Tier, DV360 contract). That honesty is the point.
Q: Why agency-owned accounts instead of client-owned?
A: Enables true end-to-end automation, consistent billing, spend guardrails, and switching cost (clients see Kobi, not five platform consoles). Standard agency/SaaS model for managed media.
Q: What's the moat?
A: (Parent/VC to articulate commercially.) Technically: multi-platform orchestration + GA4-unified measurement + vertical playbooks + closed-loop CRM + agency account model — hard to replicate in a single platform's native tools.
Q: Why GA4 as source of truth?
A: Only neutral cross-channel layer. Platform-reported conversions are biased. We reconcile with defined tolerances and never silently optimize on platform data alone when GA4 diverges.
Q: What if a client won't grant GA4 Admin?
A: Explicit degraded mode: optimize on platform + CRM with tighter spend caps and a visible banner — never silent. For pilots, GA4 Admin is a soft gate.
Q: What's out of scope that clients might expect?
A: Creative production (briefs only), full organic social, client-owned ad consoles, operating client analytics warehouses.
Cost and economics
Q: What does it cost Kobi to run this per client?
A: ~$8–42/mo depending on profile (Starter/Standard/Ecommerce). At 200 clients: ~$4.5K/mo total infra+LLM — a rounding error vs media budgets managed.
Q: What dominates cost at scale — cloud or AI?
A: LLM inference (~85–90% of variable cost). Optimization frequency and model tier are the levers. Non-LLM infra is already trimmed (Cloud Run scale-to-zero, no premature BigQuery commitments).
Q: Can AI costs blow up?
A: Designed against it: Cost Guard (3× circuit breaker), cheap-first model router, context caching (−25–50%), batch API for scheduled jobs, cap on tool-loop depth. Budget to the high band (~$60/client/mo Standard) then calibrate from pilot telemetry.
Q: What about Google Cloud credits?
A: Not assumed in this plan — run-cost numbers use standard GCP billing (~$240–4.5K/mo by scale). Leadership may pursue Google for Startups or other programs separately; if granted, Year 1 infra cost drops sharply. Ask VC/board before applying.
Q: What's the biggest financial risk — infra or something else?
A: Media float. Kobi fronts client ad spend and invoices monthly. At 50 clients × ₺50–150K/mo media, float is ₺millions — not the ~$1.3K/mo infra bill. Credit policy and financing line are parent/VC decisions (B3).
Q: What does it cost to build?
A: Board-facing DDL for core go-live: ~13 weeks calendar (solo sprint; G+M+T ~W9 / ~1 Sep). ~50 engineer-weeks is full-module effort accounting (baseline team through DV360, CRM closed-loop, relay, full agentic stack) — most of that is W14+, explicitly deferred from MVP. Apply parent/VC loaded rate to eng-weeks for dollar planning.
Q: Are platform API fees a hidden cost?
A: No. Google/Meta/TikTok/DV360 ad APIs are free (rate-limited). GA4 Analytics Data API is free tier + modest usage.
Scaling and platform risk
Q: What happens at Meta client #6?
A: API account creation stops on a single BM. Requires 2-Tier BM (child BM per client) via Meta rep — PRE-10, started in Phase 0. Pilot (≤5) unaffected. Engineering is child-BM-ready from day one.
Q: Is Meta the only account-creation trap?
A: No. Google: new MCC may refuse API creation until spend history. TikTok: per-BC advertiser cap (rep-gated). All three are Phase-0 eligibility gates (B11).
Q: What if Meta/Google suspends the agency account?
A: Documented continuity runbook: early warning, appeal paths, multi-BM/MCC sharding, client comms, continue on unaffected platforms. Concentration risk is real (B8) — mitigated, not eliminated.
Q: Can you handle 500 clients?
A: Software: designed to scale horizontally (serverless compute, Pub/Sub, per-tenant isolation, connector workers). 500 is not an MVP promise — it's a Scale tier that needs Meta 2-Tier + multi-parent BM sharding, Google Standard API access, TikTok Live + BC headroom, a platform quota scheduler, and ops/finance (extended credit, media float, HITL throughput). 200 clients is the documented growth portfolio in the cost model; 500 is credible after those gates — not automatic on day one.
Q: Can we serve clients around the world?
A: Yes for campaign execution — each client's ads run in their target market on Google/Meta/TikTok; the orchestrator does not need a data centre in every country. MVP runs the control plane from one primary region (EU). Global client websites are covered by the optional Cloudflare-edge relay design. Add regional shards (EU / MENA / …) when tenant count or data-residency contracts require it — architecture supports it; active-active multi-region control plane is not in the ~13-week core scope.
Q: What is "TikTok Live"?
A: TikTok for Developers app approval for production Marketing API access on real advertiser accounts — not TikTok live streaming. Sandbox = test accounts only until review passes.
Q: What is a "pilot client" / "design partner"?
A: A real SMB business to run the first end-to-end test with — not ad creatives. Ask the VC/board for a first customer or intro. Creatives are separate: this module uses approved assets; the board's gaming creative project may supply them — that integration is a board decision, not in engineering scope today.
Q: Where do ad creatives come from?
A: Out of scope for this module (briefs yes, studio no). Pilot needs images/video/copy from the client or from the parent creative project — confirm with VC/board.
Q: Who contacts Google / Meta / TikTok reps?
A: VC/board — warm intros (W0 Q1). Engineer submits self-serve developer apps; 2-Tier BM, extended credit, TikTok BC escalation need partner relationships, not cold email from engineering.
Q: Can we start the pilot without the creative tool?
A: No live pilot ads until the parent creative production module is integrated (approved assets → campaign execution). Engineering can build connectors with mock assets; W5+ live campaigns slip to integration_done + ~2 weeks. W0 Q2 gets owner + date from VC/creative team.
Q: Will clients get a UI / do we build client-facing ad screens?
A: Two layers. (1) Clients do not get Google/Meta/TikTok consoles. (2) Clients do get a Kobi portal — MVP ~2–4 weeks after APIs. See §6b.
Q: Why is DV360 last / optional?
A: Requires GMP sales contract (months, minimum spend). Google Display campaigns cover interim needs. DV360 is add-on SKU once contract lands.
Execution and team
Q: When can we show something live to investors?
A: ~10–12 weeks from build start: 1–2 pilots on Google + GA4 with real spend and reporting. Closed-loop interim story ~week 12.
Q: What must happen before engineering starts?
A: Tech stack ADR (S3) is locked (all-TypeScript); remaining: ask VC/board for pilot SMB client (PF-17) and creative supply; start pre-flight (entity, GCP, Google token, Meta 2-Tier request, TikTok app review).
Q: Is the agentic AI layer over-engineered for an MVP?
A: Target-state yes, MVP no. MVP ships rules-based optimization + thin LLM planner/QC + hard spend guardrail. Full Cost Guard, QC telemetry, model promotion deferred to Phase 2–3 (B9). Documented explicitly so we don't gold-plate before revenue.
Q: How do humans stay in control?
A: Human Touch dashboard; nine approval types; no campaign launch or budget increase without approved plan version; full audit log.
Q: How do you know the docs are consistent?
A: Cross-document review completed (31 docs). Blocker register, API cross-check, provisioning spec, UTM spec, and cost model reconciled. Known fixes applied (Meta 5-cap, Special Ad Categories, GA4 degraded mode). Remaining minor items tracked in gameplan Section 6.
Commercial (owned at parent/VC — module supplies inputs)
| Question | Module provides | Parent/VC owns |
|---|---|---|
| Pricing & take-rate | Cost side ( |
Revenue model |
| TAM/SAM/SOM | — | Market sizing |
| CAC / LTV / payback | — | Sales motion assumptions |
| Fundraise ask & use of funds | Timeline + cost inputs | Deck |
| Working-capital policy | Float call-out + spend-cap mechanics | Credit line, prepay rules |
14. What Phase 0 delivered
| Deliverable | Status |
|---|---|
| Vision, scope, billing model | ✅ |
| Architecture (orchestration, GCP topology, HITL, System Ops) | ✅ |
| Platform specs (Google, Meta, TikTok, DV360, GA4, CRM) | ✅ |
| Platform access gate doc (scopes, limits, PRE register, red flags) | ✅ |
| Lifecycle modules (onboarding → reporting) + API cross-check | ✅ |
| UTM & attribution spec (ID-first, per-vendor rules) | ✅ |
| Security, DR, suspension continuity | ✅ |
| Roadmap with phase estimates | ✅ |
| Cost model (run + build) | ✅ |
| Execution gameplan + blocker register + board Q&A | ✅ |
| Tech stack ADR | ✅ Accepted — all-TypeScript (strict, Zod boundaries, CI-gated) |
| Pilot SMB client (from VC/board) | ☐ Ask board — PF-17 |
| Creative supply for pilot ads | ☐ Ask board — gaming creative project? |
| Pre-flight approvals (Meta 2-Tier, tokens, etc.) | 🔄 Start week 1 |
31 documents. Endpoint-level honesty on what APIs can and cannot do. This is the specification the implementation team builds against.
15. Recommended next steps
- Week 0 session — Emre (A) + Arif (R/C) — Q1–Q7 + RACI; re-phase dates
- Emre delivers: rep intros (Q1), creative integration plan (Q2), pilot client (Q3)
- Arif starts W1 build — GCP, modular services, self-serve apps (solo sprint)
- Confirm S4 payment model + S8 legal with finance/legal (S1–S3, S7, S9 locked via ADRs)
16. Documentation index
| For… | Read… |
|---|---|
| This summary | You are here — incl. RACI §6c, W0 §6d |
| Week-by-week sprint (1 Jul) | 13-solo-engineer-sprint-plan-jul2026.md |
| Cost detail | 12-cost-model-and-estimates.md |
| API limits & PRE checklist | 03-platforms/platform-access-api-readiness.md |
| Onboarding automation reality | 04-lifecycle/onboarding-api-cross-check.md |
| Meta scaling detail | 03-platforms/meta-ads.md |
| Architecture depth | 02-architecture/ |
| Full doc map | README.md |
Last updated: June 2026 · Phase 0 complete · Planning-level estimates — re-verify platform limits and cloud pricing at implementation kickoff.