Enterprise SaaS needs a B2B sales channel, but AIKit is built by a bootstrapped team with no dedicated enterprise sales force. The answer isn't hiring closers — it's turning existing EmDash agency partners into a commission-based referral network that sells AIKit to their clients as part of every project.

The Problem

Building an enterprise sales team from scratch is expensive and slow. A single enterprise sales rep costs $100K–$150K/year in salary, plus commission, benefits, and ramp time. For a bootstrapped team like AIKit, that math doesn't work — especially when the product itself is still evolving based on early customer feedback.

Meanwhile, EmDash agencies are already in front of the exact customers AIKit needs: digital agencies building websites for mid-market and enterprise clients who need AI-powered content, search, and personalization features. These agencies spec out the tech stack, recommend tools, and integrate solutions. They are trusted advisors — and they're already using EmDash.

The gap? There's no incentive structure for agencies to recommend AIKit over rolling their own AI solution or using a competitor. A well-designed partner referral program closes that gap.

The Solution: Agency Partner Referral Program

The AIKit Partner Referral Program turns every EmDash agency into a distributed, commission-driven sales channel. Agencies sign up, receive a unique partner code, and earn commissions when the clients they refer purchase an AIKit enterprise subscription.

How It Works

1. **Agency signs up** via a simple onboarding form — no contracts, no minimums, no exclusivity.

2. **AIKit issues a unique partner code** tied to the agency (e.g., `PARTNER_AGENCY42`).

3. **Agency includes the partner code** when setting up AIKit for a client's project, or shares a referral link.

4. **Client purchases** an AIKit subscription — the referral is tracked and attributed.

5. **Commission is calculated** and paid out automatically via Stripe Connect each month.

This model works because the referral happens naturally during the agency's workflow. They aren't doing cold outreach — they're recommending a tool they already use and believe in, solving a real client need.

Commission Structure

Commission rates are designed to reward early adopters, recurring value, and high-performing partners. The base structure:

| Tier | Commission Rate | Conditions | Example Payout (at $500/mo subscription) |

|------|----------------|------------|----------------------------------------|

| First Year | 20% of subscription revenue | All referrals, first 12 months | $100/mo per client |

| Recurring | 10% ongoing | After first year, for life of client | $50/mo per client |

| Volume Bonus | +5% on all referrals | ≥5 qualifying referrals in a quarter | $125/mo per client (all tiers) |

| High-Value Bonus | One-time $500 | Referral signs $5K+/yr annual contract | $500 lump sum + standard commission |

| Platinum Partner | 25% first year / 15% recurring | ≥20 total referrals or $50K ARR sourced | $125–$75/mo per client |

Payout Examples

- **Small agency**: Refers 3 clients at $500/mo each. First year: $300/mo commission. Second year onward: $150/mo passive income.

- **Mid-tier agency**: Refers 8 clients (qualifies for volume bonus). First year: $1,000/mo. Second year: $500/mo residual.

- **Top agency**: Refers 20+ clients (platinum tier). First year: $2,500/mo. Second year: $1,500/mo recurring — a meaningful revenue stream.

Architecture: Tracking & Payout Pipeline

The referral system is built on Cloudflare's edge stack — lightweight, serverless, and cheap to operate. No need for expensive third-party affiliate platforms.

```

┌─────────────┐ ┌──────────────────┐ ┌────────────────┐

│ EmDash │ │ Cloudflare D1 │ │ AIKit Admin │

│ Agency Site │────▶│ Referral DB │────▶│ Dashboard │

└─────────────┘ └──────────────────┘ └────────────────┘

│ │ │

│ partner_code │ referral_id │ commission

▼ ▼ ▼

┌─────────────────────────────────────────────────────────────┐

│ Stripe Connect │

│ - Payout automation to partner accounts │

│ - Monthly commission distributions │

│ - Tax form collection (W-9/W-8BEN) │

│ - 1099-NEC generation for US partners │

└─────────────────────────────────────────────────────────────┘

```

Components

| Component | Technology | Purpose |

|-----------|-----------|---------|

| Referral Database | Cloudflare D1 (SQLite) | Store partner codes, referral links, attribution events, commission records |

| Referral API | Cloudflare Workers | Handle referral link creation, tracking pixel, cookie management, attribution logic |

| Commission Engine | Cloudflare Workers + Cron Triggers | Calculate monthly commissions, generate payout reports, handle tier upgrades |

| Payout System | Stripe Connect Express | Automated payouts to partner accounts, tax compliance, dispute handling |

| Partner Dashboard | EmDash static site + AIKit API | Login, referral links, earnings summary, payout history, client list |

Data Flow

1. Agency generates a referral link via the partner dashboard → stored in D1 with `partner_code`, `created_at`, `campaign_id`

2. Prospect clicks link → Worker sets a `ref=PARTNER_CODE` cookie (30-day attribution window)

3. Prospect signs up for AIKit → signup form captures cookie, stores `referral_id` on the customer record

4. Customer upgrades to a paid plan → D1 records the subscription event with the referral attribution

5. Monthly cron job runs → Commission Engine queries D1 for all active referral-linked subscriptions, calculates commissions based on tier, generates a payout report

6. Payout report sent to Stripe Connect → funds transferred to partner's connected account

7. Partner views earnings in the dashboard → real-time data from D1, aggregated by month

Implementation

1. Partner Onboarding Flow

Keep it frictionless. The partner signs up through a dedicated page on the AIKit marketing site:

```javascript

// Example: Partner registration endpoint (Cloudflare Worker)

export default {

async fetch(request, env) {

const { agencyName, email, website } = await request.json();

// Generate unique partner code

const code = `PARTNER_${crypto.randomUUID().slice(0, 8).toUpperCase()}`;

// Store in D1

await env.DB.prepare(

`INSERT INTO partners (code, name, email, website, created_at, status)

VALUES (?, ?, ?, ?, datetime('now'), 'active')`

).bind(code, agencyName, email, website).run();

// Create Stripe Connect Express account

const account = await stripe.accounts.create({

type: 'express',

email: email,

business_type: 'company',

business_profile: { name: agencyName, url: website },

capabilities: { transfers: { requested: true } }

});

// Store Stripe account ID in D1

await env.DB.prepare(

`UPDATE partners SET stripe_account_id = ? WHERE code = ?`

).bind(account.id, code).run();

return new Response(JSON.stringify({

partnerCode: code,

onboardingUrl: account.account_link // Stripe Connect onboarding

}));

}

}

```

2. Tracking Pixel & Attribution

A lightweight tracking pixel embedded in the referral link captures the referring agency. Attribution lasts 30 days with last-touch logic:

- If a prospect clicks multiple referral links, the most recent partner gets credit

- Cookie-based tracking works across the AIKit marketing site and signup flow

- Server-side fallback via `?ref=PARTNER_CODE` URL parameter for email campaigns

3. Stripe Connect Payout Automation

Monthly payout automation runs on the 1st of each month:

```python

Example: Monthly commission payout script (pseudocode)

def process_monthly_commissions():

partners = db.query("SELECT * FROM partners WHERE status = 'active'")

for partner in partners:

referrals = db.query("""

SELECT c.*, s.amount, s.status

FROM customers c

JOIN subscriptions s ON c.stripe_customer_id = s.customer_id

WHERE c.referral_code = ? AND s.status = 'active'

""", [partner.code])

total_commission = calculate_commission(referrals, partner.tier)

if total_commission > 0:

stripe.transfers.create(

amount=int(total_commission * 100), # cents

currency='usd',

destination=partner.stripe_account_id,

description=f"AIKit Partner Commission — {partner.code}"

)

Record payout

db.query(

"INSERT INTO payouts (partner_code, amount, period_start, period_end, status) VALUES (?, ?, ?, ?, 'paid')",

[partner.code, total_commission, period_start, period_end]

)

```

4. Partner Dashboard

The partner dashboard is a lightweight EmDash site authenticated against AIKit's existing auth system. Key pages:

- **Overview**: Total earnings, active referrals, current month commission estimate

- **Referral Links**: Generate and share branded referral links with optional UTM parameters

- **Clients**: List of referred clients with status (trial, active, cancelled) and commission earned per client

- **Payout History**: Monthly payout records with Stripe transfer IDs and downloadable receipts

- **Resources**: Marketing materials, case studies, email templates, and best practices guide

5. Anti-Abuse & Compliance

- **Self-referral detection**: Checks if the partner's domain matches the client's business email domain

- **Cooling period**: Commission only vests after the client has been paying for 60 days (reduces churn gaming)

- **Fraud monitoring**: Manual review triggered when a single partner refers >10 clients in a month

- **Terms enforcement**: Partners must disclose their referral relationship to clients per FTC guidelines

Expected Results

With approximately 200 active EmDash agencies in the ecosystem, we project conservative adoption:

| Metric | 3 Months | 6 Months | 12 Months |

|--------|----------|----------|-----------|

| Active Partners | 15 | 30–50 | 60–80 |

| Avg Referrals/Partner/Month | 1.2 | 1.5 | 2.0 |

| New Enterprise Customers | 18 | 45–75 | 120–160 |

| Monthly Recurring Revenue | $5K–$9K | $15K–$25K | $40K–$60K |

| Annual Run Rate | $60K–$108K | $180K–$300K | $480K–$720K |

| Partner Payouts (monthly) | $1K–$1.8K | $3K–$5K | $8K–$12K |

> **Realistic baseline**: 30–50 partners in the first 6 months generating $200K+ in annual recurring revenue through the channel. The cost of goods sold (partner commissions) runs at 10–20% of revenue — far better than the 30–50% typical of SaaS affiliate programs or the fixed cost of a salaried sales team.

Why This Works

- **Low acquisition cost**: Partners are already in the AIKit/EmDash community — no cold outreach needed

- **High conversion rate**: Referrals from trusted agency partners convert at 3–5x the rate of cold leads

- **Lower churn**: Clients acquired through an agency partner have higher retention because the agency handles onboarding and support

- **Scalable**: Adding 10 new partners costs essentially nothing — no hiring, no training, no ramp time

Key Takeaways

Agency partners are the best B2B sales channel for a developer tool. They're already selling the solution — they spec the tech stack, justify the cost to their clients, and handle the integration. A referral program simply formalizes and incentivizes what the best agencies are already doing: recommending tools they trust.

For a bootstrapped team like AIKit, the agency partner referral program turns a structural disadvantage (no enterprise sales team) into a competitive advantage (a distributed, motivated, trusted sales force that costs nothing until they close a deal). The infrastructure — Cloudflare D1 for tracking, Stripe Connect for payouts, and a lightweight partner dashboard — is cheap to build and operate.

The math is simple: 50 agencies referring 1–2 enterprise clients per month at $500–$1,000/mo each creates a $200K–$500K ARR sales channel with zero fixed cost. That's a bet worth making.