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.