Automated Ticket Processing Bot
- AWS
- Lambda
- SQS
- DynamoDB
An event-driven ticket processing system built entirely on serverless AWS. Incoming ticket JSON files are parsed and filtered down to the region each ticket actually belongs to, so downstream teams only ever see the tickets relevant to them instead of one undifferentiated firehose.
Throughput is decoupled with an SQS messaging queue: producers drop work onto the queue and a fleet of Lambda consumers scales out to drain it, so sudden bursts of tickets are absorbed rather than dropped. To keep correctness under that concurrency, every ticket carries a UUID and consumers take a UUID-keyed lock in DynamoDB before processing, which prevents the duplicate concurrent processing that shows up the moment more than one worker runs.
Note: this was built as internal tooling, so the source code cannot be shown publicly. The architecture and behaviour described here are a deliberately high-level summary — many of the supporting tools, functions, and integrations are not described in full.
Highlights
- Region-aware filtering that routes raw ticket JSON to the correct region
- Horizontal scalability via an SQS queue decoupling producers from Lambda consumers
- UUID-based locking in DynamoDB to prevent duplicate concurrent processing
- Fully serverless — Lambda + SQS + DynamoDB with no servers to manage
Architecture
Loading diagram…