## Spenny Piggy — Fans fund creators, and the money survives the round trip. - URL: https://www.naveentehrpariya.dev/projects/spenny-piggy - Industry: Creator economy - Client type: Startup - Country: United Kingdom - Role: Full Stack Product Engineer - Duration: Ongoing - Status: Live - Live: https://spennypiggy.co - Year: 2026 A UK platform where fans back creators through wishlist items, memberships, exclusive content, paid tasks and group Piggy Pots. Money arrives through Stripe Connect, sits under a risk and reserve regime while it clears, and pays out to creators every Friday. ### Problem Creator payouts are the hard half of a creator platform. Money has to clear, survive chargebacks, respect a reserve, and still arrive predictably, while every new creator has to be identity-checked and moderated before they can take a payment at all. Doing that manually does not scale past the first few hundred creators. ### Objectives - Take money for five different product types through one payment path - Hold funds under a risk and reserve regime without confusing the creator about what they are owed - Move creator approval from six disconnected screens to one decision - Keep a public app and an internal admin in step while they share one database ### Solution Two Laravel 10 applications, an Inertia and React 18 public platform and a separate admin console, deployed on Laravel Vapor and sharing a single database. Stripe Connect Express handles onboarding, Checkout takes payment, and Identity plus Radar carry verification and fraud. Money moves through explicit states, clearing on a seven-day hold, reserve held, pending delivery, then a Friday payout, so a creator can always see which stage every pound is at. Uploadcare with Rekognition moderates uploads before a human sees them. ### Features - Wishlist items, memberships, exclusive content, paid tasks and group Piggy Pots - Stripe Connect Express onboarding with Identity verification and Radar fraud rules - Money and tax dashboard showing clearing, reserve, pending delivery and next payout - Creator Review console consolidating media, bios, socials, intro video and identity - Creator CRM with stage histories, bonuses and referral payouts - Passkey sign-in, PWA install and push notifications ### Stack - Frontend: React 18, Inertia.js, Vite, Tailwind CSS - Backend: Laravel 10, PHP 8.1 - Database: MySQL, Redis - Cloud: Laravel Vapor, AWS Lambda, Sentry - Integrations: Stripe Connect, Uploadcare, AWS Rekognition, MagicBell ### Engineering challenges ### Creator approval was quietly deadlocking Problem: Clearing one creator meant four screens for media, bios, socials and profile verification, plus two more for the intro video and identity. Nothing showed all of it at once, so a creator waiting only on social approval was absent from the queue that would have approved them. Approach: A Creator Review console puts every asset beside the queue, and one service is the single definition of what a creator is waiting on, so a status chip and the panel it opens can never disagree. Decisions delegate to the per-asset handlers that already email, push and audit. An advisor drafts the wording but never decides, and never recommends approving an intro video. ### Two codebases, one database Problem: The public platform and the admin console deploy separately but read and write the same tables. A row written by one is read by the other, and a change in one repository does not propagate to the other. Approach: Anything touching shared data carries a mirror check across both repositories before it ships, and business logic lives in services rather than controllers so the two apps can reference the same rules instead of restating them. ### Outcome - Creator approval became a single decision instead of six screens - Creators can see which stage every pound is at, rather than asking support - Moderation runs automatically before anything reaches a human reviewer ### What it taught When money sits in stages, name the stages in the interface. Most payout support tickets are not about the amount, they are about not knowing where it is. Case study: https://www.naveentehrpariya.dev/projects/spenny-piggy More work: https://www.naveentehrpariya.dev/llms.txt