Case study · 10 May 2026

PayoutKit — extracting a commercial product agentically from PickNDeal

The fastest demonstration of the agentic delivery method we've shipped: PayoutKit, a sellable Stripe Connect commercial boilerplate, extracted from a working production marketplace codebase (PickNDeal) in one weekend. The method as a code-surgery instrument — agents reading the source repo, identifying the reusable Stripe Connect surface, sanitising it, generating the LICENSE + landing copy, all under a human review loop.

The setup

PickNDeal had shipped a full Stripe Connect integration — destination charges with on-top platform fees, KYC onboarding via hosted Stripe Express, multi-supplier payouts, saved cards, faktura/CVR business invoicing for Danish buyers, webhook handlers with idempotency. Working in production, hardened by real edge cases. The Stripe Connect surface alone was worth productising — there's a category of marketplace builders who'd pay for a clean starting boilerplate that solves the same problems we had already solved.

The traditional path: spend 4–6 weekends manually carving out a clean repo, sanitising business logic, writing licence terms, building a landing page, wiring checkout. Easy to procrastinate forever.

The agentic path we took instead

One weekend. The agentic delivery method applied as code surgery. Six explicit phases:

1. Map the extraction surface

The first agent run was diagnostic only — read PickNDeal's codebase, identify every file that touches Stripe Connect, classify each as “extract / sanitise / drop”. Output: a structured manifest of ~40 files, with notes on which Danish-specific bits (CVR validation, faktura translation strings) needed swapping for generic equivalents and which marketplace-specific bits (PickNDeal supplier model, group-order RFQ flow) had to be dropped entirely.

The audit trail of this run became the spec for the next one. Human review at this stage caught two accidental classifications (“sanitise” for files that should have been “drop”); re-ran with corrections.

2. Generate the clean repo

Second agent run: take the manifest, produce the new repo. Generic Express/Custom account onboarding flows. Two-role demo (vendor + buyer) to show the Stripe Connect mechanics without leaking the marketplace context. RoleSwitchPrompt component for the role-mismatch UX. Webhook handlers with the same idempotency patterns we'd hardened in production. All as a fresh git history, no PickNDeal commits leaking through.

3. End-to-end Stripe TEST verification

Run the new boilerplate through the full Stripe Connect flow in test mode. Express account create → hosted onboarding redirect → destination charge with on-top fee ($50 + $5 = $55) → webhook fires (account.updated, payment_intent.succeeded) → order auto-flips to paid → saved methods CRUD all work. The agent generated the test plan from the methodology's “reproduce in production-shape, not toy-shape” invariant; we executed it together, found and fixed two issues with destination-charge metadata.

4. Landing page + commercial LICENSE

Concurrent with the build: agent generated the marketing landing (hero / problem / features / pricing / FAQ / visual checkout breakdown demo), the commercial LICENSE.md v1.0 (Single-App / Multi-App tier terms, 30-day refund, 12-month updates, DK governing law), and the analytics wiring (GA4, Microsoft Clarity, GSC verification). All under human-review-loop before publish.

5. Polar checkout integration

Polar (Software Inc) as merchant of record — production checkout with VAT computation per buyer jurisdiction, GitHub-repo-benefit auto-granting Read access on purchase. Two product tiers configured. Agent verified production checkout URLs (no “TEST MODE” banners) before any traffic was pointed at the buy buttons — explicit invariant from the method.

6. Deploy + ship

Deployed to GCP VM, nginx vhost, Let's Encrypt SSL on apex + www, PM2 fork mode (not cluster — the methodology's “build before restart” invariant is enforced in the deploy script). Live at payoutkit.dev within 12 hours of starting the extraction.

What the method delivered

Why this matters for your build

Most engineering teams have one or two systems where the underlying patterns could become a sellable product, an open-source library, or simply an internal-platform abstraction. The traditional path — months of careful manual extraction — is why it never happens. The agentic delivery method reduces that to a weekend, with audit trail, with the same rigour as your production code.

What carries from PayoutKit to your situation: the extraction workflow (map → generate → verify → package → deploy), the human-review gates on each phase, the commercial-readiness invariants (no test-mode banners, no leaked customer strings, working merchant-of-record checkout). Whether you're extracting an internal SDK from a monolith, productising an internal tool, or building a companion OSS library to your SaaS — the method holds.

Want this applied to your codebase?

We extract products, libraries, and internal platforms from existing production code with the same method. Discovery conversation first; pricing scoped per engagement.