View all slides — browse the embedded presentations directly without leaving the page.
We'll use these services to create a demo application, while learning how to build serverless solutions on AWS.
- S3
- Lambda
- API Gateway
- SNS
- SQS
- CloudFront
- Frontend is served from S3 through a CloudFront distribution.
- API is on API Gateway and attached to an "api" lambda function.
- "api" lambda reads from S3 and serves the two read paths:
- list all words
- get details of a word
- New words can be added to the system through SQS.
- Another lambda, let's call it "sqs" lambda, polls SQS and processes new words to ingest them into the system.
- On another S3 bucket, we store all words and their meanings in a single file named
words.json - And we have another type of file, this time for each word, it contains the details of that word and it's named
{word}/meaning.json - The "sqs" lambda uses Google's gemini API to come up with the details for a word (it's meaning, example uses etc.)
- There's another lambda that runs weekly and summarizes the words for that week in an email sent through SNS.
I've evaluated some ideas from generative ai and you can view those on APP_IDEAS.md
I've chosen to build a dictionary application, which can be used when learning English. There are two flavours of the frontend, implemented with v0.dev & bolt.new.