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 release | Not included yet |
|---|---|
| Next.js App Router + TypeScript | Stripe Connect marketplace flows |
| Prisma + PostgreSQL | Background workers / queueing |
| NextAuth Google OAuth | Redis-based coordination |
| Stripe one-time checkout flow | Full recurring billing orchestration |
| Zod validation in route handlers | Advanced 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
- Start with Getting Started for setup and environment contracts.
- Review Architecture and Data Model before editing backend logic.
- Use API Reference for request/response details and endpoint-level behavior.
- Use Operations for seed data, error catalog, and hard constraints.