AWS Builder Center
From a flooded-road photo to a verdict: a serverless architecture on AWS

From a flooded-road photo to a verdict: a serverless architecture on AWS

At the edge of a waterlogged road, people ask one thing: can my vehicle cross this? We built Can My Scooter Cross? for the Environmental Hacks 2026 hackathon, and this post walks through how a photo becomes a verdict using only serverless AWS building blocks.

A rider takes a photo in the web app. The app asks our API for a presigned S3 POST, uploads the image straight to the bucket (no image bytes go through Lambda), and the  ObjectCreated  event triggers an analysis Lambda. That function checks the image with Amazon Rekognition moderation, asks Amazon Bedrock for a depth estimate, runs a deterministic rules engine, and writes the result to DynamoDB. The map reads merged "spots" back through API Gateway. Why this shape
  • Presigned uploads + S3 events keep Lambda small and cheap, and make the upload path resumable on poor mobile networks.
  • DynamoDB with geohash cells (one query per cell, in parallel) gives fast "what is flooded near here" reads with TTL to expire old reports. Reads are on-demand, so a quiet Tuesday costs almost nothing, and a monsoon spike does not need capacity planning.
  • EventBridge Scheduler drives two background jobs: social ingestion every 10 minutes and a live-rain check every 15 minutes at known flood spots, which can raise SNS alerts.
  • API Gateway HTTP API with a Cognito JWT authorizer protects only the  /me/*  routes (saved places). The public read and report routes stay open and rate limited.
  • Amplify Hosting serves the React PWA, and Amazon Location provides map tiles and place search.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article