Suleiman Abdulkadir

Loading...
Back to Projects
AWS

Serverlesspresso

Handles 1,000+ concurrent orders with real-time WebSocket updates via AWS AppSync

AWS Step FunctionsLambdaAppSyncEventBridgeCognito
View on GitHub

1,000+ concurrent orders

Real-time WebSockets

Multi-role system

Overview

Real-time coffee ordering system serving multiple user roles. Orchestrated complex workflows with Step Functions, WebSocket connections via AppSync, and secured authentication with Cognito.

Architecture Diagram

Architecture diagram coming soon.

See the GitHub repository for architecture documentation.

Design Decisions

  • Step Functions chosen for order workflow orchestration visual state machine makes complex flows auditable.
  • AppSync WebSockets over polling real-time updates without client-side timers or connection management.
  • Cognito for auth to avoid building and maintaining a custom auth system in a serverless context.
  • EventBridge for decoupling services each service publishes events without knowing who consumes them.

Deployment

All services deployed via AWS SAM template. Step Functions state machine defined as code. AppSync schema and resolvers version-controlled. Cognito user pool configured with MFA support.

Lessons Learned

Step Functions are excellent for complex workflows but the state machine definition can become verbose. Using the SDK integration pattern instead of Lambda for simple AWS API calls reduced cold starts and simplified the architecture significantly.

← View all projects