Documentation Index
Fetch the complete documentation index at: https://docs.kwiksaasapp.com/llms.txt
Use this file to discover all available pages before exploring further.
User Flows
Signup / signin
Start auth
Open /sign-up or /sign-in.
Choose method
Use OAuth buttons (Google/GitHub) or email/password via server actions.
Handle email links
Magic link and reset emails are sent via Resend from lib/email/auth.ts.
Finalize session
/auth/callback exchanges tokens, enforces recovery for reset flows, and redirects to the dashboard or next.
Purchase (subscription or lifetime)
Start checkout
Click a pricing CTA to POST /api/checkout_sessions with priceId.
Pay in Stripe
Stripe Checkout collects payment; metadata carries user_id (if logged in) and plan info.
Sync records
Webhook writes subscription or one-time purchase to Supabase, tracks PostHog events, and may email a license key.
Manage billing
Use /api/customer_portal (GET/POST) to open Stripe Portal.
Download access
Request download
Authenticated user hits /api/download (optional version query).
Validate license
Endpoint checks active license; Standard is blocked from version=latest.
Get signed URL
Returns signed Storage URL, logs download history, and increments count.
GitHub collaborator (Ultimate)
Submit username
POST /api/github-access with githubUsername (auth + Ultimate license required).
Send invite
Server calls GitHub API with PAT, stores the username, and returns invite status.
Check status
GET /api/github-access reports collaborator/pending state.
Changelog / blog
- MDX content under
src/content/changelog and src/content/blog.
- Blog pages generate dynamic OG images and JSON-LD schemas per post.