📘 Docs · v0.99.103

How Kickback works.

Kickback is an automated financial primitive for attention. Brands fund a Stripe escrow pool and post a flat-fee bounty. Creators get a magic-link offer with an AI-ghostwritten ad-read in their voice, drop their permanent kickback.link/handle in a video description, the auto-verifier confirms the placement, and one click pays them via Stripe Connect.

The four roles

A single Google account can wear any of these hats. Sign-up routes you to the brand side by default; existing creators with a claimed handle still see their creator surface.

Brand flow

1

Set up the brand

Sign in with Google, fill in company name and URL. That promotes the account to the brand role and lands you on the campaign list.

2

Create a campaign and fund escrow

A campaign is a destination URL plus a flat per-placement bounty in dollars. Funding is via Stripe Checkout when billing is enabled, dev-mode ledger entry otherwise. Escrow is recorded in an append-only ledger keyed by Stripe charge id, so webhook retries can never double-count.

3

Find creators

The Find Creators page searches YouTube by topic. Each result shows whether the creator already has a kickback.link/handle on file, and whether we have a cached voice profile from previous pitches. New creators can be onboarded by sharing the signup link.

4

Pitch by handle

On the campaign page, type a creator's handle. We lock the campaign bounty for them at that moment, generate an AI ad-read in their voice (sampled from their recent video transcripts), and email a magic link to the address on their account.

Creator flow

1

Claim your handle

One permanent short link per channel. Lowercase letters, numbers, dashes; 3 to 30 characters. The handle is what you paste in every video description, every brand, forever.

2

Receive a pitch

A brand funds escrow and pitches you. The offer lands in your inbox at /creator/ and as a magic link in your email. The page shows the bounty (already locked in escrow), the AI ad-read, and a one-tap accept.

3

Drop the link

After accept, paste kickback.link/your-handle in a video description. That URL 302s to the active campaign destination. The auto-verifier scans for the substring in descriptions and transcripts on a 12 hour cadence.

4

Get paid

On match, the pitch flips to verified. An admin clicks Release. Stripe transfers the bounty to your Connect account. Settled funds typically land within 48 hours.

Money rules

What the auto-verifier checks

For each accepted pitch, the verifier resolves the creator's YouTube channel, lists their last ten uploads, and scans each video's description for the exact substring kickback.link/handle. If no match in any description, it falls back to scanning the transcript text. On match, the pitch is stamped verified with the matching video id and queued for admin release.

YouTube data API budget is bounded: each pitch sweep costs about 102 units, the daily quota is 10,000, so a 12 hour sweep can cover up to roughly 196 active pitches without manual intervention.

Out of scope for V1

Spec at docs/PRODUCT_SPEC.md, mirrored into the running app's product_spec table on every deploy.