Skip to main content

Architecture

Diagram of PoolCzar's architecture: static delivery through CloudFront and S3, and an application path through API Gateway and Cognito fanning out to three domain-separated Lambda groups (tournament/rules, forums, store), each with its own DynamoDB table; the store Lambda group also calls Stripe Checkout.

PoolCzar Production Architecture

Static delivery (browser → CloudFront → S3) is separate from the application path (browser → API Gateway → Cognito JWT authorizer → Lambda). The three domains — tournament/rule composition, forums, and store — are deliberately separated: each Lambda group's IAM role is scoped only to the DynamoDB table it owns, so a bug or compromise in one domain can't read or write another's data. The store domain is the only one that talks to Stripe.

View case study →