Architecture Visual

Complete production architecture for FIFA Neon Soccer, covering frontend delivery, identity, gameplay APIs, compute logic, and real-time score persistence.

Delivery and Frontend

BrowserPlayer BrowserLoads neon game UI and client logic
Amazon CloudFrontCloudFront CDNGlobal delivery at app.joesparkman.com/fifa
Amazon S3S3 Static Hostingindex, app.js, style, audio assets

Auth and API Routing

Amazon CognitoAmazon CognitoHosted UI + PKCE + access tokens
Amazon API GatewayAPI Gateway HTTP APIleaderboard, profile, telemetry routes
AWS LambdaLambda (Node/Python)route validation and score handlers

Gameplay Data and Persistence

Game ControllerGame Telemetry Eventsmatch events and timing snapshots
AWS LambdaLambda Runtimescore calculation and write orchestration
Amazon DynamoDBDynamoDB Tablesplayer profiles, scores, telemetry

Infrastructure as Code

TerraformTerraformProvisions all AWS resources from HCL config
Amazon S3S3 Remote Statefifa-neon-tfstate bucket stores tfstate
GitHub ActionsGitHub Actions CI/CDterraform plan on PR · apply on push to main

Protected endpoints use Cognito JWT bearer tokens. CloudFront + S3 handle static delivery while API Gateway + Lambda process gameplay requests and persist leaderboard state. All infrastructure is provisioned and versioned via Terraform with automated CI/CD.

Hosting layer: CloudFront serves the game globally while S3 stores static frontend files and media assets.
Auth layer: Cognito handles sign-in and token issuance for secured player actions and account-specific views.
Compute layer: API Gateway forwards requests to Lambda for game data validation and score updates.
Data layer: DynamoDB stores leaderboard entries and player-linked telemetry records.
Security posture: Tokens and IAM controls protect write operations and keep privileged logic server-side.
Scalability: Serverless components scale with traffic spikes during gameplay and events.
IaC layer: Terraform manages all AWS resources with remote state in S3 and automated deploys via GitHub Actions.
Read Build Story Back to App Back to Portfolio