Learning AWS


On the home page I wanted to display books from my Goodreads account. I also wanted to learn a little bit of AWS so I created a Lambda Function that fetches data from Goodreads API and stores it in a publicly available S3 file.

Tech stack

  • AWS Lambda
  • AWS CloudWatch
  • AWS S3 (Simple Storage Service)
  • Amazon SNS (Simple Notification Service)


This is what I came up with:

  1. There is a Cloud Watch rule that invokes Lambda Goodreads once a day
  2. Lambda Goodreads
    1. connects to the Goodreads API and gets my account data (read, currently reading and to read books)
    2. and publishes the data to the SNS Topic
  3. Lambda S3
    1. receives the data because it is subscribed to that SNS Topic
    2. and persists it into data.json in the S3 Bucket
  4. data.json is updated daily and eryk.io can display this file