Promo code distribution tool

Stop emailing
promo codes one by one.

Upload your App Store codes, invite keys or TestFlight links. Share one landing page. Users drop their email and get a code — instantly, never twice.

No credit card · Google sign-in · Built on Supabase
🐾 Pet AI AI pet portraits
CAMPAIGN · LAUNCH
user@example.com verified ✓
Your App Store code
P3AT9KX2
Built for App Store promo codes·TestFlight beta invites·Invite codes·Waitlists·Steam keys
// the indie launch mess

You shouldn't need a spreadsheet to give people a code.

✕ Today

  • Copy-pasting codes from a Notion doc into DMs
  • Accidentally sending the same code twice
  • No idea who claimed what, or if it converted
  • Bots draining your 100 codes in 30 seconds

✓ With ShipKit

  • Paste codes once — share one link forever
  • Atomic delivery: one code, one person, never twice
  • Live dashboard: views → claims → conversion
  • Cloudflare Turnstile keeps the bots out
// from zero to claiming in 4 steps

Set it up once. It runs itself.

01

Create your app page

Name, tagline, screenshots, store links. A real SEO landing page — not a form.

02

Paste your codes

Drop them in or upload a CSV. We dedupe and clean automatically.

03

Share the link

Post it on Product Hunt, Reddit, X. Users claim with just an email.

04

Watch it convert

See claims roll in. Export emails + codes as CSV anytime.

// what's in the box

Everything to launch. Nothing you don't need.

🔒

Never the same code twice

Codes are handed out in a single atomic database transaction with row-level locking. Two people clicking at once can't get the same code — guaranteed.

FOR UPDATE SKIP LOCKED
🤖

Bot protection

Cloudflare Turnstile, server-verified. Invisible to real users.

📈

Conversion analytics

Views, CTA clicks, claims, conversion rate — per campaign.

📨

Codes by email, too

Every code is emailed as a backup. Waitlist users get notified when you restock.

🌊

Runs out? Auto-switches to waitlist

When the last code is gone, the page collects emails instead of showing an error — so you never lose a warm lead.

🔎

SEO-ready pages

Custom slug, meta tags, auto-generated Open Graph image, sitemap. Built to rank.

Your codes are waiting.
So are your users.

Set up your first campaign in under five minutes. Free to start, no card required.

Start your first campaign →
// questions

Good questions, straight answers.

Do my users need to sign up?

No. End users just enter an email and claim. Lower friction means higher conversion. Only you, the developer, sign in (with Google) to manage campaigns.

How do you stop one person grabbing every code?

Three layers: Cloudflare Turnstile blocks bots, a database constraint stops the same email claiming twice per campaign, and rate-limiting catches abnormal bursts. No annoying image captchas.

What happens when I run out of codes?

The page automatically switches to waitlist mode and keeps collecting emails — so a sold-out campaign still grows your list instead of showing an error.

Can I export the emails I collect?

Yes — one click exports email, code, campaign, claim time and source as CSV. The data is yours.

What can I distribute?

App Store promo codes, TestFlight invites, generic invite codes, Steam keys — anything that's a one-per-person string or link.