NASA Astronomy Picture of the Day
A self-updating gallery of cosmic wonders. A scheduled AWS Lambda fetches NASA's APOD every day and archives it to S3, no human in the loop.
How it's built
I built this as a fully serverless pipeline. A scheduled Amazon EventBridge rule fires a Python Lambda once a day; the function calls NASA's public APOD API, stores the image and its metadata in S3, and rebuilds the JSON indexes this page reads. The page itself is static; the grid and the image viewer fetch those indexes directly from S3 with client-side JavaScript. No servers, no database, no CI/CD, and it costs under $0.01 per month to run.
flowchart LR EB["Amazon EventBridge
daily schedule"] --> L["AWS Lambda
Python"] L <--> API["NASA APOD API"] L --> S3["Amazon S3
images + JSON indexes"] S3 --> P["This page
static, client-side fetch"]
One scheduled function keeps the archive, the indexes, and this gallery current, with no human in the loop.
I wrote a step-by-step guide to building this yourself: Build a Self-Updating NASA Photo Gallery on AWS for a Penny a Month.