Serverless · Backend owner
Global brand · ConfidentialCustomer Loyalty & Rewards Platform
An event-driven serverless loyalty and rewards platform on AWS for a global brand, serving 100K+ users.
Client and product names are withheld for confidentiality.
- Users
- 100K+
Problem
A global brand needed a rewards platform its customers could rely on: one that stays accurate and responsive and can grow with the programme.
What I built
- An event-driven serverless backend on AWS Lambda in TypeScript and JavaScript, defined and deployed with SST
- Receipt validation, reward points, coupon generation and partner brand integrations
- Asynchronous reward-processing workflows built for high availability and fault tolerance under variable load
- Scalable APIs exposed through API Gateway
- A data layer on DynamoDB
- Storage and delivery through S3 and CloudFront
- The APIs behind the customer-facing Next.js frontend
Technical highlights
- Owned the serverless backend: APIs, data model and infrastructure
- Serverless architecture: no servers to manage, and it scales with demand
- Infrastructure defined as code with SST
Key decisions
- 01
Serverless on AWS Lambda
Traffic on a loyalty programme is uneven. Lambda scales automatically for busy periods, costs nothing while idle, and leaves no servers to manage, so the effort goes into features instead of infrastructure.
- 02
DynamoDB as the data store
A natural fit for Lambda, with no connection-pool limits like a SQL database. It gives fast key-value access for lookups such as a customer's points, and scales on demand with nothing to tune.
- 03
SST for infrastructure and delivery
The Lambdas, API Gateway routes and DynamoDB tables are all defined as code in TypeScript. Live Lambda development speeds up iteration against real AWS, and stages give clean, separate environments.
Hardest problems
- Keeping responses fast despite Lambda cold starts
- Modelling DynamoDB tables and keys around the platform's access patterns
- Handling sudden traffic spikes driven by campaigns and promotions
Architecture
- Next.js frontend
- CloudFront · S3
- API Gateway
- AWS Lambda (TypeScript)
- DynamoDB
Stack
- TypeScript
- JavaScript
- SST
- AWS Lambda
- API Gateway
- DynamoDB
- S3
- CloudFront
- Next.js
- React
- Redux Toolkit
- Tailwind CSS