SubSplit Documentation

Product, architecture, API, and operational reference for the SubSplit platform.

What SubSplit is

SubSplit is a group subscription management platform. A user creates a group, invites members, selects a legitimate family or team plan, and splits cost through Stripe Checkout.

SubSplit is built around a reliable core flow:

  • Group creation and member joins
  • Subscription catalog browsing and plan assignment
  • Per-member checkout links
  • Stripe webhook confirmation and payment records

Platform scope

The current release intentionally limits complexity.

Included in current releaseNot included yet
Next.js App Router + TypeScriptStripe Connect marketplace flows
Prisma + PostgreSQLBackground workers / queueing
NextAuth Google OAuthRedis-based coordination
Stripe one-time checkout flowFull recurring billing orchestration
Zod validation in route handlersAdvanced rate limiting tiers

Key technical rules

  • Store money as integer cents, never floats.
  • Compute per-member share with Math.ceil(monthlyPriceCents / memberCount).
  • Create groups and owner membership in one prisma.$transaction().
  • Verify Stripe webhook with raw request body using req.text().
  • Prevent duplicate joins with @@unique([groupId, userId]).

Read this docs set in order

  1. Start with Getting Started for setup and environment contracts.
  2. Review Architecture and Data Model before editing backend logic.
  3. Use API Reference for request/response details and endpoint-level behavior.
  4. Use Operations for seed data, error catalog, and hard constraints.